5

我测试了意图过滤器android:priority="0"和意图过滤android:priority="20"android.intent.category.HOME。我列出以下信息,

    <activity android:name=".TestHomeActivity"
              android:label="@string/app_name">
        <intent-filter android:priority="0">
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.HOME" />
            <category android:name="android.intent.category.LAUNCHER" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

完成系统启动时,它总是会弹出一个对话框(ResolveActiivty),用于为此意图选择首选活动......

任何人都可以帮助这个吗?是错误用法android:priority吗?

谢谢!

4

4 回答 4

5

当系统解决意图时,我实际上并没有看到android:priority被考虑在内。我只是尝试在我使用的意图过滤器上设置优先级,但无论我将意图过滤器的优先级设置为什么值,系统仍然给我分辨率弹出对话框。

我猜你只需要选择你想要使用的主屏幕活动(即你的)并选择“默认使用...”复选框。

于 2009-12-30T01:23:16.900 回答
4

android:priority is only used on OrderedBroadcast intents, not the order of resolution for non-ordered broadcasts. Users select the default activity for a given action, which is why the dialog pops up. So, yes, you are using priority incorrectly.

于 2011-06-07T21:20:01.187 回答
1

从您的代码段中,您似乎正在尝试启动您的应用程序。优先级是应该给予父组件处理过滤器描述的类型的意图的优先级。

它提供有关活动响应与过滤器匹配的意图的能力的信息,相对于其他活动。它还控制执行广播接收器以接收广播消息的顺序。仅当您确实需要强制规定接收广播的特定顺序,或者想要强制 Android 优先选择一个活动而不是其他活动时,才使用此属性。

该值必须是整数,例如“100”。数字越大优先级越高。

于 2010-04-08T07:32:58.833 回答
0

// 非特权应用程序永远不能定义优先级 > 0 (PKMS)</p>

于 2018-04-24T07:47:58.917 回答