当用户访问网站时,我试图从浏览器启动一个活动(它只是显示一个警告图标),但是当我将意图过滤器添加到我的AndroidManifest.xml时,应用程序从未在加载URL时启动新活动。
它加载的唯一方式是如果它是一个链接到url(如在电子邮件中),而不是当用户实际拉出www.playboy.com
有什么建议吗?
- 阿玛尼
<activity
android:name="com.app.Warning"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.VIEW"></action>
<category android:name="android.intent.category.DEFAULT"></category>
<category android:name="android.intent.category.BROWSABLE"></category>
<data android:host="playboy.com" android:scheme="http"></data>
</intent-filter>
</activity>
有疑问时,复制Google。Play Store和YouTube应用都在它们的意图过滤器中使用了某种路径规范。试试pathPrefix="/"
.
Google Play Store的清单包括:
<data android:scheme="http" android:host="market.android.com" android:pathPrefix="/" />
试着去掉"www":
<data android:host="playboy.com" android:scheme="http"></data>
检查你的浏览器是否被设置为这个主机的默认应用程序。
你的实现还有一个问题:当它工作时,当用户在playboy.com上冲浪时,Android会显示一个选择器对话框,要求用户用浏览器或你的应用程序打开这个地址。只有当用户点击你的应用程序时,它才会启动,否则它会像现在一样继续在浏览器中运行。我不认为这是你想达到的行为。