意图标志Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED没有让应用程序进入以前的状态

时间:2015-09-08 09:25:05

标签: android android-intent

我正在开发一个Android启动器应用程序,它将仅显示我自己的应用程序,从登录活动开始。 登录后,我将显示自己的自定义应用程序。 在我的自定义应用程序中,我提供了一个主页按钮,它会将我重定向到我的启动器应用程序之前的状态。 我正在启动启动器意图如下

   PackageManager packageManager = context.getPackageManager();

    Intent intent = packageManager.getLaunchIntentForPackage("Package name");

    if(intent != null) {

        intent.setAction(Intent.ACTION_MAIN);

        intent.addCategory(Intent.CATEGORY_LAUNCHER);

        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);

        context.startActivity(intent);

    }

根据这些标志,启动器应用程序应该与之前的位置一起启动,但不幸的是,我重定向到我的主要活动,即我不想要的登录屏幕。

我在启动活动时是否有任何错误?

我已将宣言中的活动声明为

    <activity android:name="LoginManager"
        android:excludeFromRecents="true" android:screenOrientation="portrait"
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
        android:configChanges="mcc|mnc|locale"
        android:launchMode="singleTop">

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

    </activity>

    <activity android:name=".MainActivity" android:label="fios"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
        android:configChanges="mcc|mnc|locale" />

我已经在android 2.3.3中测试了它工作正常,我正在重定向到启动器之前的状态,但我在android 4.2设备中遇到问题。

0 个答案:

没有答案