我搜索了文档,但是我遗漏了一些明显的东西。或者我正在尝试向后做某事。
我所拥有的主要活动是从发射器和小部件发射的。我有一个第二个活动,我想在尝试打开特定模式的URL时被解雇。以下是两个活动定义:
<activity android:name=".activities.MainMapScreen" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".activities.ViewDatasheet" android:configChanges="orientation|keyboardHidden" android:label="@string/app_name" android:process=":BMMapsDatasheet">
<meta-data android:name="Main Screen" android:value=".activities.MainMapScreen" />
<intent-filter>
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" android:host="www.ngs.noaa.gov" android:pathPattern="\\/cgi-bin\\/ds_mark.prl\\?PidBox\\=([a-zA-Z]{2}[0-9]{4})" />
</intent-filter>
</activity>
如上所述,url不会被截获。即使我在数据中没有任何内容,只有方案和主机,我也没有得到选择我的应用程序的提示。
作为测试,我复制了可浏览和主要活动,当我这样做时,图标完全从发射器中消失。 (尝试点击网址时,我仍然没有提示。
我找到的所有例子都有主要活动,而不是辅助活动,所以..我不确定我是否遗漏了一些旗帜等。
任何想法都将不胜感激。如果你想让我发布整个Manifest,请告诉我。
- 麦克
修改:添加@iturki建议后,没有任何变化。但是 - 如果我还将<category android:name="android.intent.category.OPENABLE" />
添加到处理网址的操作中,那就有效了。我看到的所有示例都没有该类别,所以我还不确定它是否会影响我的应用程序中的活动的其他操作。
答案 0 :(得分:0)
尝试将VIEW action
添加到您的第二个活动<intent-filter>
:
<action android:name="android.intent.action.VIEW"></action>
我认为您可能也希望将您的意图添加到DEFAULT category:
<category android:name="android.intent.category.DEFAULT"></category>
我不确定它是否重要,但所有<intent-filter>
都有此类别。