我正在使用一个弹出窗口(带有自定义对话框的活动)显示任务,
它会以per time schedule
显示为什么我使用services
和服务触发广播接收器和BroadCast Receiver trigger my this activity class
包含对话
所有正常工作的弹出按时间表排列。
问题:
当我的应用程序关闭时,我按下主页按钮,此时我的应用程序弹出屏幕始终打开。
我正在尝试清除android:launchMode="singleTask"
,"android:noHistory="true"
等所有条目。
我认为总是与最后一个活动数据叠加,但我在poup ok click中使用了finish()。
请给我一些指导。
答案 0 :(得分:1)
当您想要显示homeScreen
时使用此意图
Intent setIntent = new Intent(Intent.ACTION_MAIN);
setIntent.addCategory(Intent.CATEGORY_HOME);
setIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(setIntent);
答案 1 :(得分:1)
我认为您可以使用FLAG_ACTIVITY_CLEAR_TOP
FirstActivity是应用程序中的第一个活动:
public static void home(Context ctx) {
if (!(ctx instanceof FirstActivity)) {
Intent intent = new Intent(ctx, FirstActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
ctx.startActivity(intent);
}
}
如果你想退出整个应用程序,这可以帮助你 这一点。
public static void clearAndExit(Context ctx) {
if (!(ctx instanceof FirstActivity)) {
Intent intent = new Intent(ctx, FirstActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Bundle bundle = new Bundle();
bundle.putBoolean("exit", true);
intent.putExtras(bundle);
ctx.startActivity(intent);
} else {
((Activity) ctx).finish();
}
}
我真的希望这会有所帮助。
答案 2 :(得分:0)
很多googling
我发现了一些技巧。
检查if popup click
然后
finish();
startActivity(new Intent(this,MainActivity.class));
,否则强>
ShowPopup()
感谢@Aarun和@John Carter JC的帮助。