如何在浏览器中点击URL时打开Android应用程序

4
我需要在用户点击链接时打开我的安卓应用程序。例如,假设我的域名是abc.com并且我已经在我的Facebook页面上发布了这个链接。当我的朋友(他的设备安装了我的应用程序)在设备浏览器中点击链接时,我应该能够在我的应用程序内的Webview中打开我的网站。
我不确定如何实现这个功能,但意图过滤器会起作用吗?如果可以,有人能给我一段代码以开始吗?

1
可能是从浏览器拦截链接以打开我的Android应用程序的重复问题。 - AlexGreg
2个回答

12

当用户点击URL时,您需要在应该启动的活动中定义自定义 Intent 过滤器。

假设您希望在用户单击网页上的 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>

当用户点击HTML链接http://www.example.com/时,系统会提示使用浏览器或您的应用程序。


我该如何在Ionic 3中实现这个? - Nischal Kumar BC

8
你可以通过使用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>

在您设置过滤器的活动中,您可以通过调用以下代码(在 onCreate 中)获取 URI:
Uri intentUri = getIntent().getData();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接