在Android中,如何在浏览器中打开应用程序

在Android中,如何在浏览器中打开应用程序,android,browser,Android,Browser,假设我有一个网页,我将该网页加载到android设备上的浏览器中。我期望的是,当我点击网页上的一个按钮时,一个应用程序可以打开 有办法吗?非常感谢。如果您可以选择自定义有问题的应用程序,您可以为特定的URI方案添加一个,该方案是应用程序特有的。然后在网页按钮的单击事件中,使用此URI方案启动应用程序 例如,Google Play使用market://方案从链接打开Google Play应用程序。使用IntentFilters这是可能的。。 检查以下代码:- <intent-filter&g

假设我有一个网页,我将该网页加载到android设备上的浏览器中。我期望的是,当我点击网页上的一个按钮时,一个应用程序可以打开


有办法吗?非常感谢。

如果您可以选择自定义有问题的应用程序,您可以为特定的URI方案添加一个,该方案是应用程序特有的。然后在网页按钮的单击事件中,使用此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>


您可以使用
来实现这一点。 例如,要处理指向sample.com的所有链接,您需要将以下内容放在您的AndroidManifest.xml中:

    <intent-filter>
    <data android:scheme="http" android:host="sample.com"/>
    <action android:name="android.intent.action.VIEW" />
</intent-filter>

在他的回答中

希望这能帮助您……

您可以使用getIntent().getData()返回Uri对象。然后可以使用Uri.*方法提取所需的数据。例如,假设用户单击了以下链接:

uridata=getIntent().getData();
字符串scheme=data.getScheme();//“http”
字符串host=data.getHost();//“twitter.com”
List params=data.getPathSegments();
String first=params.get(0);//“地位”
字符串秒=params.get(1);//"1234"    

您可以在活动中的任何位置执行上述操作,但可能需要在onCreate()中执行。还可以使用params.size()获取Uri中的路径段数。查看javadoc或android开发人员网站,了解其他可以用于提取特定部分的Uri方法。

是的,有。在您的场景中,您是该网站的web开发人员吗?或者你打算在该设备上预装安卓应用程序?无论哪种情况,都可以做到。只是你将使用的确切机制取决于你将控制的部分。
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"