我是Android新手,正在尝试使用Android的一些功能来准备项目工作。在我提出问题之前,我会说我已经花了几个小时来搜索这个问题,只能找到相同的答案,即使在Stack Overflow上也是如此。我相信我已经遵循Stack Overflow和其他网站上给出的建议(大多数是相同的答案),但却无法解决我的问题。
我的问题是,当用户点击链接时,我希望能够从模拟器的浏览器启动我的活动。这仅用于测试目的;下一步是对intent-filter数据进行额外的过滤。
我能够从我自己的WebView和Messages中将活动显示在活动选择器对话框中。但是,它从未在浏览器中显示。为了确保它不是我的代码中的任何其他东西,我创建了一个非常简单的应用程序来演示问题。
我的活动只是使用TextView加载一个简单的布局。下面是我的AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mycompany"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk
android:minSdkVersion="14"/>
<uses-permission
android:name="android.permission.INTERNET"/>
<application
android:label="@string/app_name"
android:icon="@drawable/ic_launcher">
<activity
android:name="MyActivity"
android:label="@string/app_name">
<intent-filter>
<action
android:name="android.intent.action.MAIN"/>
<category
android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<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="http"/>
</intent-filter>
</activity>
</application>
</manifest>
我还检查了浏览器的默认操作,它们都是空的。有没有人知道为什么这不起作用?
答案 0 :(得分:0)
如果您希望能够在浏览器中使用intent过滤器,则必须导航到某个页面,然后单击包含您要过滤的URL的链接。将其键入地址栏将始终转到URL,并且永远不会提示运行该应用程序。