27

我知道要从网页中的链接打开 android 应用程序,我们必须在以下内容中编写AndroidManifest.xml

        <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="my_scheme" android:host="my_host" />
        </intent-filter>

问题是我是这样写的:

        <intent-filter>
            <action android:name="my_action"/>
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="my_scheme" android:host="my_host" />
        </intent-filter>

我没有添加android.intent.action.VIEW,而是添加了我自己的操作。我无法更改它,因为版本已经发布。

问题是,

如果有办法让应用程序从 JavaScript 或简单的 html 页面运行,也许是通过在页面中定义特定的操作?

谢谢,

帕兹。


解决了:

感谢大卫,我找到了一个解决方案:

<a href="intent://my_host#Intent;scheme=my_scheme;action=my_action;end">Link to my stuff</a> 
4

4 回答 4

34

试试这个:

使您的链接看起来像这样:

<a href="intent:#Intent;action=my_action;end">Link to my stuff</a>

还可以查看从 android 浏览器启动自定义 android 应用程序

于 2012-08-02T15:43:06.247 回答
5

AndroidMainfest 声明:

<activity android:name="...">
<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:host="hostName"
     android:path="path"
     android:scheme="schemeName" />
   </intent-filter>
</activity>

你可以让调用

<a href = "schemeName://hostName/path">

或在浏览器中添加参数类似的 url

<a href = "schemeName://hostName/path?id=1&name=mark">
于 2017-12-20T06:42:19.390 回答
1

一种方式如林平君所说,另一种方式调用js方法,代码如下:

function openAActivity(){
     window.location = "schemeName://hostName/path"

}

此方法将发送一个 Android Intent 来启动指定的活动。

于 2018-04-10T11:36:49.107 回答
-3

第一种方式:

<html><head></head><body>
<iframe src="YourApp://profile/blabla" width="1px" height="1px" scrolling="no" frameborder="0"></iframe>
<script>
setTimeout(function() {
window.location = "http://YourSite.com/profile/blabla"; }, 4000
                );
</script>
</body>
</html>


第二种方式https ://stackoverflow.com/a/24023048/2165415

于 2014-06-03T19:13:12.677 回答