假设我有一个网页,并且我在安卓设备上的浏览器中加载了该网页。我期望的是,当我单击网页中的按钮时,可以打开一个应用程序。
有没有办法做到这一点?非常感谢。
如果您可以选择自定义相关应用程序,您可以为您的应用程序独有的特定 URI 方案添加Intent 过滤器。然后在网页按钮的单击事件中,使用此 URI 方案来启动您的应用程序。
例如,Google Play 使用一种market://
方案从链接打开 Google Play 应用程序。
使用IntentFilter
s 是可能的..查看以下代码:-
<intent-filter>
<data android:scheme="**myapp**" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" /> <--Not positive if this one is needed
...
</intent-filter>
现在你可以像 myapp:// 一样启动你的应用了
您可以使用返回 Uri 对象的 getIntent().getData() 。然后,您可以使用 Uri.* 方法来提取您需要的数据。例如,假设用户点击了指向http://twitter.com/status/1234的链接:
Uri data = getIntent().getData();
String scheme = data.getScheme(); // "http"
String host = data.getHost(); // "twitter.com"
List<String> params = data.getPathSegments();
String first = params.get(0); // "status"
String second = params.get(1); // "1234"
您可以在 Activity 中的任何位置执行上述操作,但您可能希望在 onCreate() 中执行此操作。您还可以使用 params.size() 来获取 Uri 中路径段的数量。查看 javadoc 或 android 开发者网站,了解可用于提取特定部分的其他 Uri 方法。