Android活动订单

时间:2011-02-25 23:36:04

标签: android android-activity

<?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放在了它们上面,但它似乎什么也没做。

任何人都知道如何解决这个问题?感谢。

2 个答案:

答案 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将只考虑那些   较高优先级值作为潜在值   意图的目标。

换句话说,如果你有两个活动,每个活动都有一个具有相同动作和类别的意图过滤器,那么任何发送(来自第三方应用程序)的那些行动/类别细节的意图将首先传递给活动,意图过滤器具有最高优先级。

这与应用程序(及其活动)在运行时内部的行为无关。