AppDeepLink (唤起APP)

情景:在浏览器中唤起我们自己的应用

配置:

1. 首先,在HTML的页面中添加如下格式链接:

第一种方式:启动应用程序
举例:

启动应用程序

第二种方式:启动应用程序
举例:


2.在AndroidManifest.xml中做如下配置:

        
             ....//其他 intent-filter
            
                
                
                

                
            
        

3.在代码中对点击事件做处理

//一般在 activity的 onCreate中做处理

/** 对应URL 的第一种配置方法 **/
String action = getIntent().getAction();
if(Intent.ACTION_VIEW.equals(action)){
    //可以通过Action 来判断是不是浏览器启动
    Uri uri = i_getvalue.getData();
}
if(uri != null){
    String scheme = data.getScheme(); // "http"
    String host = data.getHost(); // "example.com"
    String name = uri.getQueryParameter("name"); // "yoosir"
    String age= uri.getQueryParameter("age");       // "20"
}

/** 对应URL 的第二种配置方法 **/
Uri data = getIntent().getData();
String scheme = data.getScheme(); // "http"
String host = data.getHost(); // "example.com"
List params = data.getPathSegments();
String first = params.get(0); // "status"
String second = params.get(1); // "1234"

4.特殊操作

//经测试,在小米手机的默认浏览器和UC上都可以正常运行
启动应用Dialog  click me  

//经测试,在小米手机的默认浏览器可以正常运行。UC上没反应
package= 应用包名
启动应用没有Dialog: click me  

总结下:

  1. 第三方浏览器,对 "#Intent;scheme=http;package=com.xxx.xxx;end;"默认不识别,所以不推荐使用这种方式。
  2. 在QQ中通过以上方法可以唤醒应用。
  3. 在微博和微信中不可行。

最后一个技巧:

我们可以写一个 带有链接的 html 文件在手机上用浏览器打开测试。但是,QQ上怎么测试呢?
大家可以直接在上写一个链接

//链接就放你们自己定义的,就可以通过打开文章链接,找到并 点击 启动应用,就可以在QQ上唤醒你的应用了。
 [启动应用]("http://example.com/openwith")

你可能感兴趣的:(AppDeepLink (唤起APP))