我正在尝试制作一个 Home Replacement 应用程序,但我遇到了一堆故障。当应用程序首次启动时,您会通过几个设置屏幕来配置基本设置。完成后,您将进入 HomeScreen 活动。在 AndroidManifest.xml 中,我包含以下内容:
<activity android:name="HomeScreenMain"
android:theme="@style/Theme"
android:launchMode="singleInstance"
android:stateNotNeeded="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
在 HomeScreen 活动中,我包含了以下方法:
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
if (Intent.ACTION_MAIN.equals(intent.getAction())) {
getWindow().closeAllPanels();
}
}
public void onDestroy() {
super.onDestroy();
}
同样在 HomeScreen 活动中,我有一个按钮可以有效地退出整个应用程序。相关代码为:
public void exitApp(View view){
this.finish();
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
所以基本上我想要的是,当你第一次进入 HomeScreen 活动时,会出现一个提示,告诉你选择你的默认主屏幕(除非我按下 Home 按钮,否则不会发生这种情况,我希望这会尽快发生随着活动的启动)。一旦我将它设置为我的默认主屏幕,它就可以工作,但只是从根本上说。按主页按钮让我回到这个活动(应该如此),但是当我点击退出按钮时,我不会返回到我想要的股票主页启动器。