从浏览器调用android应用程序

从浏览器调用android应用程序,第1张

概述我一直试图从Android3.1(Honeycomb)上的浏览器调用我的应用程序这些是我尝试过的链接,但这些链接都不起作用:<ahref="com.nk.myapp://movieid=95319">clickme1</a><ahref="intent:#Intent;action=com.nk.myapp.detail;end">clickme2</a><ahref=intent

我一直试图从Android 3.1(Honeycomb)上的浏览器调用我的应用程序
这些是我尝试过的链接,但这些链接都不起作用:

<a href="com.nk.myapp://movIEID=95319">click me 1</a><a href="intent:#Intent;action=com.nk.myapp.detail;end">click me 2</a><a href=intent:#Intent;action=com.nk.myapp.detail;category=androID.intent.category.DEFAulT;category=androID.intent.category.broWSABLE;package=com.nk.myapp;end>click me 3</a>

对于第1和第2个网址,它会显示“网页不可用”.

对于第三个,它通过搜索显示Apps-market:pname:com.nk.myapp – > “没有找到结果”.

应用程序仍处于开发阶段,因此尚未进入市场.

这是我的清单文件的样子:

<activity    androID:label="@string/app_name"    androID:launchMode="singletop"    androID:name=".MainActivity"    androID:screenorIEntation="landscape" >    <intent-filter >        <action androID:name="androID.intent.action.MAIN" />        <category androID:name="androID.intent.category.LAUNCHER" />    </intent-filter>    <intent-filter >        <action androID:name="com.nk.myapp.action.DIALOG" />        <category androID:name="androID.intent.category.DEFAulT" />    </intent-filter>    <intent-filter >        <action androID:name="androID.intent.action.SEARCH" />        <category androID:name="androID.intent.category.DEFAulT" />    </intent-filter></activity><activity    androID:name=".WebVIEwActivity"    androID:screenorIEntation="landscape" >    <intent-filter>        <data androID:scheme="com.nk.myapp" />        <action androID:name="com.nk.myapp.detail" />        <category androID:name="androID.intent.category.broWSABLE" />        <category androID:name="androID.intent.category.DEFAulT" />    </intent-filter></activity>

如果你发现我做错了,请告诉我.

解决方法:

这是另一种方法:

为了找到uri,这是我在Test Apk中添加的内容:

Intent i = new Intent();i.setAction("com.appname.NK_CUSTOM_ACTION");i.putExtra("movIE_ID", "123456");Log.e("IntentTest", i.toUri(Intent.URI_INTENT_SCHEME));

哪个产生这个字符串:

intent:#Intent;action=com.appname.NK_CUSTOM_ACTION;S.movIE_ID=123456;end

HTML页面有这个链接:

<a href="intent:#Intent;action=com.appname.NK_CUSTOM_ACTION;S.movIE_ID=123456;end">click to load</a>

并且,将清单文件更改为

<activity    androID:name=".TestActivity"    androID:screenorIEntation="sensorLandscape" >    <intent-filter>        <action androID:name="com.appname.NK_CUSTOM_ACTION" />        <category androID:name="androID.intent.category.DEFAulT" />        <category androID:name="androID.intent.category.broWSABLE" />    </intent-filter></activity>

在TestActivity中,您可以在下面的代码中获得movIE_ID:

Intent intent = getIntent();String data = intent.getStringExtra("movIE_ID");
总结

以上是内存溢出为你收集整理的从浏览器调用android应用程序全部内容,希望文章能够帮你解决从浏览器调用android应用程序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1114236.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存