我想删除当我按下主页按钮时显示的活动

时间:2013-06-26 13:07:08

标签: android service android-broadcast

我正在使用一个弹出窗口(带有自定义对话框的活动)显示任务,

它会以per time schedule显示为什么我使用services服务触发广播接收器BroadCast Receiver trigger my this activity class包含对话

所有正常工作的弹出按时间表排列。

问题:

  

当我的应用程序关闭时,我按下主页按钮,此时我的应用程序弹出屏幕始终打开。

我正在尝试清除android:launchMode="singleTask""android:noHistory="true"等所有条目。

我认为总是与最后一个活动数据叠加,但我在poup ok click中使用了finish()。

请给我一些指导。

3 个答案:

答案 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的帮助。