我正在开发一个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设备中遇到问题。