<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="muazam.multiplication.one"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="3" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:label="@string/app_name" android:name=".multiplication">
<intent-filter android:priority="1">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:label="@string/app_name" android:name=".splash">
<intent-filter android:priority="3">
<action android:name="android.intent.action.CLEARSCREEN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:label="@string/app_name" android:name=".Menu">
<intent-filter android:priority="2">
<action android:name="muazam.multiplication.one.Play" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
</manifest>
我希望首先使用.splash类,然后是.Menu类。 如你所见,我已经将android:priority放在了它们上面,但它似乎什么也没做。
任何人都知道如何解决这个问题?感谢。
答案 0 :(得分:3)
我希望它首先从.splash类开始
这在Android中没有意义。
如果您想说“我希望.splash类在点击主屏幕启动器中的图标时启动”,那么您需要摆脱.splash
类'当前{{1 (这是完全错误的)并将<intent-filter>
/ MAIN
LAUNCHER
从<intent-filter>
类移到。.multiplication
类。
当你在这里时,请摆脱splash
属性(这里没有使用)和你的android:priority
/ Play
DEFAULT
(你真的应该这样做)不需要,除非您计划直接启动该活动的第三方应用程序。)
然后.Menu类
您可以使用<intent-filter>
在Java代码中执行此操作。
如你所见,我已经将android:priority置于它们之上,但似乎什么也没做。
当然。 startActivity()
元素没有android:priority
属性,您可以在documentation中看到。
答案 1 :(得分:1)
活动不像“幻灯片放映”那样自动运行(尽管你可以按照自己的意愿编写自己的代码)。
android:priority
属性用于完全不同的目的(来自<intent-filter>
的文档......
它提供了有关能力的信息 活动是回应意图 匹配过滤器,相对于 其他活动也可以 回应意图。当一个意图 可以由多个处理 不同优先事项的活动, Android将只考虑那些 较高优先级值作为潜在值 意图的目标。
换句话说,如果你有两个活动,每个活动都有一个具有相同动作和类别的意图过滤器,那么任何发送(来自第三方应用程序)的那些行动/类别细节的意图将首先传递给活动,意图过滤器具有最高优先级。
这与应用程序(及其活动)在运行时内部的行为无关。