我知道要从网页内的链接打开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页面运行,可能是通过在页面中定义特定的操作?
谢谢,
帕兹。
解决:
感谢David,我找到了一个解决方案:
<a href="intent://my_host#Intent;scheme=my_scheme;action=my_action;end">Link to my stuff</a>
答案 0 :(得分:20)
试试这个:
让你的链接看起来像这样:
<a href="intent:#Intent;action=my_action;end">Link to my stuff</a>
答案 1 :(得分:2)
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的param
<a href = "schemeName://hostName/path?id=1&name=mark">
答案 2 :(得分:1)
林平君说的一种方式,另一种方式是通过调用js方法,代码如下:
function openAActivity(){
window.location = "schemeName://hostName/path"
}
此方法将发送Android意图以启动指定的活动。
答案 3 :(得分:-2)
第一路:
<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>