http://blog.csdn.net/qduningning/article/details/37602101

http://blog.csdn.net/qduningning/article/details/37602101

http://blog.csdn.net/qduningning/article/details/37602101





Android 通过网页打开自己的APP(scheme)

18178人阅读 评论(6) 收藏 举报 分类: android(30)

通过用手机的浏览器(内置,第三方都可)访问一个网页,实现点击一个链接启动自己的应用,并传递数据。

首先在Mainifest文件里面对要启动的Activity添加一个过滤器。

[java] view plain copy
  1. <activity
  2. android:name="com.example.helloworld.MainActivity"
  3. android:label="@string/app_name">
  4. <intent-filter>
  5. <actionandroid:name="android.intent.action.MAIN"/>
  6. <categoryandroid:name="android.intent.category.LAUNCHER"/>
  7. </intent-filter>
  8. <intent-filter>
  9. <actionandroid:name="android.intent.action.VIEW"/>
  10. <categoryandroid:name="android.intent.category.DEFAULT"/>
  11. <categoryandroid:name="android.intent.category.BROWSABLE"/>
  12. <dataandroid:scheme="znn"/>
  13. </intent-filter>
  14. </activity>

在MainActivity接收数据:

[java] view plain copy
  1. publicclassMainActivityextendsActivityimplementsView.OnClickListener{
  2. @Override
  3. protectedvoidonCreate(BundlesavedInstanceState){
  4. super.onCreate(savedInstanceState);
  5. setContentView(R.layout.activity_main);
  6. Intentintent=getIntent();
  7. Stringscheme=intent.getScheme();
  8. Uriuri=intent.getData();
  9. System.out.println("scheme:"+scheme);
  10. if(uri!=null){
  11. Stringhost=uri.getHost();
  12. StringdataString=intent.getDataString();
  13. Stringid=uri.getQueryParameter("d");
  14. Stringpath=uri.getPath();
  15. Stringpath1=uri.getEncodedPath();
  16. StringqueryString=uri.getQuery();
  17. System.out.println("host:"+host);
  18. System.out.println("dataString:"+dataString);
  19. System.out.println("id:"+id);
  20. System.out.println("path:"+path);
  21. System.out.println("path1:"+path1);
  22. System.out.println("queryString:"+queryString);
  23. }
  24. }
  25. }


写一个最简单的网页:

[html] view plain copy
  1. <ahref="znn://aa.bb:80/test?p=12&d=1">test</a>



测试地址: www.erdian.net/m.html

测试结果:

scheme:znn
host:aa.bb
dataString:znn://aa.bb:80/test?p=12&id=1
id:1
path:/test
path1:/test

queryString:p=12&d=1


http://www.erdian.net/?p=238


更多相关文章

  1. android 命令获取手机中项目数据库
  2. android数据库中存取图片
  3. android读取扫码模组数据
  4. g_senser frameworks 层转屏数据流程
  5. android camera2 image 中获得的yuv数据的格式转换
  6. android 通过php post 向mysql数据库写入数据
  7. android项目,从服务器端返回JSON数据,在android客户端进行显示。

随机推荐

  1. Android腾讯微薄客户端开发教程汇总
  2. Android(安卓)相对布局 RelativeLayout
  3. Android音频简介
  4. ImageView---属性android:background与andro
  5. vue.js的h5页面与android(WebViewJavascr
  6. Android(安卓)RelativeLayout常用属性~
  7. android(2)——Structure of an Android(
  8. Android界面设计之:使用水平视图切换
  9. ffmpeg htc
  10. 【Android布局】在程序中设置android:gra