Android 点击链接打开应用
2013-06-27 16:11
134 查看
昨天遇到这样一个问题,看别人通过短信位置分享,会有一个链接 ,点击链接会提示我们选择用什么打开(浏览器,UC,自己的APP)奇怪的发现为什么还能启动APP抱着好奇的态度我决定一探究竟。
我的第一感觉是在manifest里面加IntentFilter过滤,但是我在data直接加入path的时候不起作用,后来我通过上网上查资料 网上说必须设置schema(http)一切支持链接的头
host(我们链接主体部分)例如www.baidu.com.;
pathPrefix(过滤条件)如果我们要求用htttp://www.baidu.com/s 的地址打开我们自己的应用 我们需要在我们Manifest Activity里面这样设置
<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:pathPrefix="/s" android:host="www.baidu.com" android:scheme="http"/>
</intent-filter>
通过这样设置点击网址就可以打开我们自己的应用了
然后我们自己应用中得做处理了
1.如果我们的应用打开了 判断应用活跃的Activity,并直接跳转到当前页面
2.如果没有则直接启动应用
下面分享一些常用的打开浏览器的scheme和mimetype
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="http" />
<data android:scheme="https" />
<data android:scheme="inline" />
<data android:mimeType="text/html" />
<data android:mimeType="text/plain" />
<data android:mimeType="application/xhtml+xml" />
<data android:mimeType="application/vnd.wap.xhtml+xml" />
</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="file" />
</intent-filter>
我的第一感觉是在manifest里面加IntentFilter过滤,但是我在data直接加入path的时候不起作用,后来我通过上网上查资料 网上说必须设置schema(http)一切支持链接的头
host(我们链接主体部分)例如www.baidu.com.;
pathPrefix(过滤条件)如果我们要求用htttp://www.baidu.com/s 的地址打开我们自己的应用 我们需要在我们Manifest Activity里面这样设置
<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:pathPrefix="/s" android:host="www.baidu.com" android:scheme="http"/>
</intent-filter>
通过这样设置点击网址就可以打开我们自己的应用了
然后我们自己应用中得做处理了
1.如果我们的应用打开了 判断应用活跃的Activity,并直接跳转到当前页面
2.如果没有则直接启动应用
下面分享一些常用的打开浏览器的scheme和mimetype
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="http" />
<data android:scheme="https" />
<data android:scheme="inline" />
<data android:mimeType="text/html" />
<data android:mimeType="text/plain" />
<data android:mimeType="application/xhtml+xml" />
<data android:mimeType="application/vnd.wap.xhtml+xml" />
</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="file" />
</intent-filter>
相关文章推荐
- Android实现通过浏览器点击链接打开本地应用(APP)并拿到浏览器传递的数据(转)
- Android实现通过浏览器点击链接打开本地应用(APP)并拿到浏览器传递的数据
- android实现通过浏览器点击链接打开本地应用(APP)并拿到浏览器传递的数据
- Android实现通过浏览器点击链接打开本地应用(APP)
- android实现通过浏览器点击链接打开本地应用(APP)并拿到浏览器传递的数据
- Android开发之如何在WebView中点击链接使用自身打开(解决出现的选择使用第三方应用的问题)
- android实现通过浏览器点击链接打开本地应用(APP)并拿到浏览器传递的数据
- Android实现通过浏览器点击链接打开本地应用(APP)并拿到浏览器传递的数据
- Android实现通过浏览器点击链接打开本地应用(APP),并获取到传递的数据
- android实现通过浏览器点击链接打开本地应用(APP)并拿到浏览器传递的数据
- Android实现通过浏览器点击链接打开本地应用(APP)并拿到浏览器传递的数据
- android--实现通过点击链接打开apk(应用图标在桌面消失)
- Android实现通过浏览器点击链接打开本地应用(APP)并拿到浏览器传递的数据
- Android实现通过浏览器点击链接打开本地应用(APP)并拿到浏览器传递的数据
- android--实现通过点击链接打开apk(应用图标在桌面消失)
- Android 浏览器点击链接打开本地应用(APP)并拿到浏览器传递的数据
- Android实现通过浏览器点击链接打开本地应用(APP)并拿到浏览器传递的数据
- android实现通过浏览器点击链接打开本地应用(APP)并拿到浏览器传递的数据
- android实现通过浏览器点击链接打开本地应用(APP)并拿到浏览器传递的数据
- Android实现通过浏览器点击链接打开本地应用(APP)并拿到浏览器传递的数据