利用HTML唤醒APP并传值

欢迎使用Markdown编辑器写博客

利用网址唤醒App

今天在手机上收藏百度云资源,点击网页上百度云文件的时候发现手机上的百度云APP被唤醒了,WTF。
当时我就被震惊了 这是怎么做到的 Goolge了一下发现不是很麻烦。。。
手动实现了一下这个是我抄袭的(谨向原作者致谢)赤裸裸的抄袭、、、
-** 实现HTML 代码部分
-** 实现Android代码部分 突然发现确实很强大啊


快捷键

  • 加粗 Ctrl + B
  • 斜体 Ctrl + I
  • 引用 Ctrl + Q
  • 插入链接 Ctrl + L
  • 插入代码 Ctrl + K
  • 插入图片 Ctrl + G
  • 提升标题 Ctrl + H
  • 有序列表 Ctrl + O
  • 无序列表 Ctrl + U
  • 横线 Ctrl + R
  • 撤销 Ctrl + Z
  • 重做 Ctrl + Y

HTML

<html>
    <head>

        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

        <title>Insert title heretitle>

    head>

    <body>

        <a href="m://my.com/">打开appa><br/>

    body>
<html>

这是Android 部分这部分是加在manefest 里面的


这样你就可以通过浏览器打开这个HTML实现唤醒APP了
but 就这样就OK了吗 这显然不是我们想要的 好吧我还想通过这个HTML向打开的APP中传点数据 SO 这个作者也给我们解决的办法了 <再次致谢>
首先更改一下HTML部分

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Insert title heretitle>
    head>
    <body>
        <a href="m://my.com/?arg0=0&arg1=1">打开appa><br/>
    body>
html>

将 arg0 = 0和 arg1 = 1传入APP
如果你是通过浏览器打开的话

Uri uri = getIntent().getData();  String test1= uri.getQueryParameter("arg0");  String test2= uri.getQueryParameter("arg1");

如果你是通过webview来打开的话

webView.setWebViewClient(new WebViewClient(){
  @Override
  public boolean shouldOverrideUrlLoading(WebView view, String url) {
      Uri uri=Uri.parse(url);
          if(uri.getScheme().equals("m")&&uri.getHost().equals("my.com")){
              String arg0=uri.getQueryParameter("arg0");
              String arg1=uri.getQueryParameter("arg1");

          }else{
              view.loadUrl(url);
          }
      return true;
  }
});

好了 先就这样 ~~~ 稍后回家再验证 向APP中传数据这部分

你可能感兴趣的:(学习进阶Android)