当前位置:   article > 正文

浏览器通过Scheme协议启动APP中的页面_android scheme 测试打开页面

android scheme 测试打开页面

    在APP开发过程中,通过外部浏览器调起APP页面的场景也很普遍使用。下面就介绍一下通过外部H5页面唤起APP中页面的通用方法。

1.首先需要在AndroidMainifest.xml中对你要启动的那个activity进行如下设置:

  1. <activity
  2. android:name=".MainActivity"
  3. android:launchMode="singleTask">
  4. <intent-filter>
  5. <action android:name="android.intent.action.MAIN" />
  6. <category android:name="android.intent.category.LAUNCHER" />
  7. </intent-filter>
  8. <intent-filter>
  9. <action android:name="android.intent.action.VIEW" />
  10. <category android:name="android.intent.category.DEFAULT" />
  11. <category android:name="android.intent.category.BROWSABLE" />
  12. <data android:scheme="myscheme://" />
  13. </intent-filter>
  14. </activity>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

2.浏览器打开如下html页,即可启动App。

<a href="myscheme://">打开APP</a>
 
 
  • 1
  • 1

3.浏览器打开App时,如何获取网页带过来的数据。

<a href="myscheme://query?arg0=0&arg1=1">打开APP</a>
 
 
  • 1
  • 1

(1).假如你是通过浏览器打开这个网页的,那么获取数据的方式为:

  1. Uri uri = getIntent().getData();
  2. String test1= uri.getQueryParameter("arg0");
  3. String test2= uri.getQueryParameter("arg1");
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

(2)如果使用webview访问该网页,获取数据的操作为:

  1. webView.setWebViewClient(new WebViewClient(){
  2. @Override
  3. public boolean shouldOverrideUrlLoading(WebView view, String url) {
  4. Uri uri=Uri.parse(url);
  5. if(uri.getScheme().equals("myscheme")){
  6. String arg0=uri.getQueryParameter("arg0");
  7. String arg1=uri.getQueryParameter("arg1");
  8. }else{
  9. view.loadUrl(url);
  10. }
  11. return true;
  12. }
  13. });
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/553194
推荐阅读
相关标签
  

闽ICP备14008679号