通过网页打开App并传递参数
2016-01-14 00:31
423 查看
如果想要从网页中打开App,只要在AndroidManifest.xml文件中设置Activity的相关属性则可,具体如下:
这里想要注意的是,如果这个Activity同时也是App的启动页面的话,intent-filter不能同时放在一块。
接下来就是在StartActivity里面获取数据了,获取传递过来的参数代码如下:
接下来是测试,写一个简单的html来进行测试:
测试结果如下图:
<activity android:name=".StartActivity"> <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.BROWSABLE" /> <data android:scheme="weixin" android:host="gameforums" android:pathPrefix="/message"/> </intent-filter> </activity>
这里想要注意的是,如果这个Activity同时也是App的启动页面的话,intent-filter不能同时放在一块。
接下来就是在StartActivity里面获取数据了,获取传递过来的参数代码如下:
Intent intent = getIntent(); String scheme = intent.getScheme(); Log.i(TAG, "scheme:" + scheme); if (uri != null) { String host = uri.getHost(); Log.i(TAG, "host:"+host); String dataString = intent.getDataString(); Log.i(TAG, "dataString:" + dataString); String param2 = uri.getQueryParameter("param2"); Log.i(TAG, "param2:" + param2); String path = uri.getPath(); Log.i(TAG, "path:" + path); String encodedPath = uri.getEncodedPath(); Log.i(TAG, "encodedPath:" + encodedPath); String queryString = uri.getQuery(); }
接下来是测试,写一个简单的html来进行测试:
<a href="weixin://gameforums/message?param=456">打开App</a>
测试结果如下图:
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories