当用户点击具有我的域名的链接时,我必须打开我的Android应用程序。例如,假设我的域名是abc.com,我已在我的Facebook页面上发布此链接。当我的一个朋友(他的应用程序中安装了我的应用程序)点击链接(在设备的浏览器中)时,我应该能够在我的应用程序内的webview中打开我的网站。
我不确定如何完成这项工作,但意图过滤器会有效吗?如果是这样,有人可以给我一段代码吗?
答案 0 :(得分:10)
您必须在单击网址时应启动的活动中定义自定义意图过滤器。
假设您想在用户点击网页上的http://www.example.com/链接时启动FirstActivity。
将此添加到Manifest中的活动:
<activity android:name=".FirstActivity"
android:label="FirstActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW"></action>
<category android:name="android.intent.category.DEFAULT"></category>
<category android:name="android.intent.category.BROWSABLE"></category>
<data android:host="www.example.com" android:scheme="http"></data>
</intent-filter>
</activity>
当用户点击指向http://www.example.com/的HTML链接时,系统会提示您使用浏览器或应用。
答案 1 :(得分:6)
您可以使用URI方案(链接,例如myscheme:// open / chat)实现此目的,将此过滤器添加到您的清单中,例如主要活动部分(设置您的方案名称):
<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="YOUR_SCHEME_NAME" />
</intent-filter>
在您设置过滤器的活动中,您可以通过调用此方法来获取URI(在onCreate中):
Uri intentUri = getIntent().getData();