Android 通过网页打开自己的APP(scheme)
通过用手机的浏览器(内置,第三方都可)访问一个网页,实现点击一个链接启动自己的应用,并传递数据。
首先在Mainifest文件里面对要启动的Activity添加一个过滤器。
- <activity
- android:name="com.example.helloworld.MainActivity"
- android:label="@string/app_name" >
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- <intent-filter>
- <action android:name="android.intent.action.VIEW"/>
- <category android:name="android.intent.category.DEFAULT"/>
- <category android:name="android.intent.category.BROWSABLE"/>
- <data android:scheme="znn"/>
- </intent-filter>
- </activity>
在MainActivity接收数据:
- public class MainActivity extends Activity implements View.OnClickListener{
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- Intent intent = getIntent();
- String scheme = intent.getScheme();
- Uri uri = intent.getData();
- System.out.println("scheme:"+scheme);
- if (uri != null) {
- String host = uri.getHost();
- String dataString = intent.getDataString();
- String id = uri.getQueryParameter("d");
- String path = uri.getPath();
- String path1 = uri.getEncodedPath();
- String queryString = 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);
- }
- }
- }
写一个最简单的网页:
- <a href="znn://aa.bb:80/test?p=12&d=1">test</a>
测试结果:
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
版权声明:本文为博主原创文章,未经博主允许不得转载。
Android 通过网页打开自己的APP(scheme)的更多相关文章
- Android 通过网络打开自己的APP(scheme)
通过使用手机的浏览器(内部.第三方能够)访问网页,点击一个链接,开始实施自己的应用程序,和传输数据. 第一Mainifest面对文件启动Activity添加过滤器. <activity andr ...
- Android通过网页打开App到指定页面并传递数据
首先在 Android Manifest 文件中注册 intent-filter <activity android:name=".MainActivity" android ...
- Android 网页打开app(或者打开指定页面)并且接收参数
网页打开app 现实描述场景: 1.短信通知中通知内容,比如信息中一个咨询详情,流程步骤,信息中的地址打开的是一个网页,网页打开就指定app或者app中的指定页面 html代码 <html> ...
- Android应用安全开发之浅谈网页打开APP
一.网页打开APP简介 Android有一个特性,可以通过点击网页内的某个链接打开APP,或者在其他APP中通过点击某个链接打开另外一个APP(AppLink),一些用户量比较大的APP,已经通过发布 ...
- android一个app打开另一个app的指定页面
一个app打开另一个app的指定页面方法 有以下几种 1.通过包名.类名 2.通过intent的 action 3.通过Url 方案1. ComponentName componentName = n ...
- 【转】【iOS开发】打开另一个APP(URL Scheme与openURL)
目标 平常我们做iOS开发,会经常遇到打开其他的APP的功能.本篇文章讲的就是打开别人的APP的一些知识.我们的目标是: 打开别人的APP 让别人打开我们的APP iOS9的适配问题 使用URL Sc ...
- Android之使用picker打开相应的app
Android之使用picker打开相应的app,如果是music则可以选择是否使用相应打开的app进行播放. 在Manifest中设置,则可在选择音频文件的时候使用配置了以下的app打开 <i ...
- 【Azure App Service】C#下制作的网站,所有网页本地测试运行无误,发布至Azure之后,包含CHART(图表)的网页打开报错,错误消息为 Runtime Error: Server Error in '/' Application
问题描述 C#下制作的网站,所有网页本地测试运行无误,发布至Azure之后,包含CHART(图表)的网页打开报错,错误消息为 Runtime Error: Server Error in '/' Ap ...
- 判断网页打开浏览器类型,PC 手机端,微信浏览器,,,
//判断网页打开浏览器类型,PC 手机端,微信浏览器,,, <script type="text/javascript"> var browser = { versio ...
随机推荐
- grep -w
[root@86 ~]# mysqladmin -uroot -p123456 -S /tmp/mysql.sock extended-status|grep -w "Com_update& ...
- nginx打开目录浏览
server { listen 80; server_name localhost; index index.html index.htm index.php; autoindex on; #开启ng ...
- Android 利用日志消息调试程序
Log类提供了下面几个静态方法 , Log.e(): 错误: Log.w(): 警告: Log.i(): 信息: Log.d(); 调试: Log.v(); 详细:
- C#学习笔记(五)——函数
一.定义和使用函数. 直接通过例子进行说明吧 class Program { static void Write() { Console.WriteLine("Test output fro ...
- oracle创建临时表没有权限
执行下面: grant create any table to 用户名称
- ember.js:使用笔记9 开始单元测试
单元测试被限定在一个范围内,并且不需要Ember应用运行. 使用前准备: 加入Ember-QUnit:获取一系列测试助手帮助单元测试:加入 mian.js; 加入根元素(与集成测试的时候一样):App ...
- http://blog.csdn.net/shangboerds/article/details/44175667
http://blog.csdn.net/shangboerds/article/details/44175667
- display显示隐藏
display <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <t ...
- HDU4057 Rescue the Rabbit(AC自动机+状压DP)
题目大概是给几个DNA片段以及它们各自的权值,如果一个DNA包含某个片段那么它的价值就加上这个片段的权值,同时包含多个相同DNA片段也只加一次,问长度l的DNA可能的最大价值. 与HDU2825大同小 ...
- xml文件读写
创建xml文件,对xml文件进行添加新节点.删除节点.更新节点.创建的如下的xml文件. <?xml version="1.0" encoding="UTF-8&q ...