Android 通过网页打开自己的APP(scheme)
16lz
2021-01-23
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)
2014-07-09 17:35 18178人阅读 评论(6) 收藏 举报 分类: android(30)版权声明:本文为博主原创文章,未经博主允许不得转载。
通过用手机的浏览器(内置,第三方都可)访问一个网页,实现点击一个链接启动自己的应用,并传递数据。
首先在Mainifest文件里面对要启动的Activity添加一个过滤器。
[java] view plain copy
- <activity
- android:name="com.example.helloworld.MainActivity"
- android:label="@string/app_name">
- <intent-filter>
- <actionandroid:name="android.intent.action.MAIN"/>
- <categoryandroid:name="android.intent.category.LAUNCHER"/>
- </intent-filter>
- <intent-filter>
- <actionandroid:name="android.intent.action.VIEW"/>
- <categoryandroid:name="android.intent.category.DEFAULT"/>
- <categoryandroid:name="android.intent.category.BROWSABLE"/>
- <dataandroid:scheme="znn"/>
- </intent-filter>
- </activity>
在MainActivity接收数据:
[java] view plain copy
- publicclassMainActivityextendsActivityimplementsView.OnClickListener{
- @Override
- protectedvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- Intentintent=getIntent();
- Stringscheme=intent.getScheme();
- Uriuri=intent.getData();
- System.out.println("scheme:"+scheme);
- if(uri!=null){
- Stringhost=uri.getHost();
- StringdataString=intent.getDataString();
- Stringid=uri.getQueryParameter("d");
- Stringpath=uri.getPath();
- Stringpath1=uri.getEncodedPath();
- StringqueryString=uri.getQuery();
- System.out.println("host:"+host);
- System.out.println("dataString:"+dataString);
- System.out.println("id:"+id);
- System.out.println("path:"+path);
- System.out.println("path1:"+path1);
- System.out.println("queryString:"+queryString);
- }
- }
- }
写一个最简单的网页:
[html] view plain copy
- <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
更多相关文章
- android 命令获取手机中项目数据库
- android数据库中存取图片
- android读取扫码模组数据
- g_senser frameworks 层转屏数据流程
- android camera2 image 中获得的yuv数据的格式转换
- android 通过php post 向mysql数据库写入数据
- android项目,从服务器端返回JSON数据,在android客户端进行显示。