android:scheme 通过uri跳转到APP应用指定Activity
来源:互联网 发布:电脑笔记软件 编辑:程序博客网 时间:2024/05/16 06:40
最近公司有个需求,点击第三方APP或者APP内的H5页面然后直接跳转到APP里面,比如浏览器打开一个H5页面,然后点击某个链接就直接到APP的某个指定的Activity,经过研究发现实现还是蛮easy的,下面说下方法吧。
首先,在AndroidManifest.xml里面进行配置,在对应的Activity加上一个intent-filter, 如下:
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/title_activity_main" > <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="paraches" /> </intent-filter> </activity> </application>
接下来在对应的这个Activity加上相关解析代码,如下:
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Intent intent = getIntent(); String action = intent.getAction(); if (Intent.ACTION_VIEW.equals(action)) { Uri uri = intent.getData(); if (uri != null) { String host = uri.getHost(); String dataString = intent.getDataString(); String id = uri.getQueryParameter("id"); String path = uri.getPath(); String path1 = uri.getEncodedPath(); String queryString = uri.getQuery(); Log.d("Alex", "host:"+host); Log.d("Alex", "dataString:" + dataString); Log.d("Alex", "id:" + id); Log.d("Alex", "path:" + path); Log.d("Alex", "path1:" + path1); Log.d("Alex", "queryString:" + queryString); } } }
看下Log情况,如下:
host:schemedemodataString:paraches://schemedemo/get/info?id=10000id:10000path:/get/infopath1:/get/infoqueryString:id=10000
经过以上步骤就可以在第三方APP打开自己想要的APP指定页面了,是不是很easy啊,再说下应用内点击链接也可以打开,需要如下代码:
if (url.startsWith("paraches")) { Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); startActivity(intent); finish(); }
简单网页如下,这个网页可以用浏览器打开,然后点击跳转链接:
<a href="paraches://schemedemo/get/info?id=10000">open android app</a>
不过我相信可能还是有小伙伴会迷路,这里上传一下项目demo,这个网页就自己建立了,我就不上传了,链接如下:
http://download.csdn.net/detail/msn465780/9516335
点击打开链接
2 3
- android:scheme 通过uri跳转到APP应用指定Activity
- Android通过uri跳转到APP指定的Activity
- Android:scheme 通过uri跳转到APP前后台代码实现
- Android跳转到指定Activity
- Android跳转其他app指定activity
- android自动跳转到指定Activity
- android桌面快捷方式跳转到指定activity
- android Activity跳转到指定的Fragment
- Android 通过scheme跳转界面
- webview/h5跳转到app的指定activity
- 通过手机浏览器跳转到指定的Activity
- Android activity跳转到另一个activity的指定fragment页面
- Android Activity之间跳转及跳转到其他app
- android 通过uri启动Activity
- android 通过uri启动Activity
- Android App跳转到应用市场
- Android App 评价/跳转到应用市场
- android Scheme使用 打开指定的Activity
- 关于uboot2010.03LCD命令行界面,命令超过一行时,最后一行被输出结果覆盖的探讨
- 开源jar包
- 198. House Robber
- 算法#05--神作:深入浅出傅里叶变换
- MapGIS6.7_学习中遇到的问题(5):用户点文件(.txt)转MapGIS线文件(.WL)
- android:scheme 通过uri跳转到APP应用指定Activity
- 【bzoj3702】二叉树 权值线段树
- 使用Python对文件名进行排序
- C++ TR1 智能指针shared_ptr的使用(转)
- ecshop二次开发--左侧导航
- 使用spring进行属性注入的实例解析(spring面向切面和控制反转)。
- 从Google学到的厕所文化
- 回车和换行
- Android 日期工具类DateUtil