Android是的我想关闭我打开的应用程序!

时间:2011-03-29 20:00:20

标签: android

我有一个应用程序,我想打开,使用,然后按下按钮关闭。我的问题是,我是否需要保留应用程序状态的单例数据才能实现此目的?我的意思是,如果我采用在resume()上完成的解决方案,这意味着我应该保留每个活动看起来关闭的全局数据?这是关闭应用程序的一种很好的,虽然很尴尬的方式,但除非我很快听到另一种方式,否则我会继续使用它。

感谢。

PS请不要回复android将决定何时以及如何处理您的应用程序。对不起,但我知道我的用户确实希望在点击完成后再次看到这个应用程序!最后重要的是,他们根本不关心Android应用程序需要做什么,也不应该这样做。

3 个答案:

答案 0 :(得分:2)

如果您想杀死自己的应用,也许可以使用System.exit(0)

从评论中提出,您需要从主要活动中进行。我的方式(虽然可能有更简洁的方法)是在主要活动中添加一个静态处理程序:

static Handler handler = new Handler() {
   @Override
   public void handleMessage(Message msg)
   {
       System.exit(2);
   }
}

和静态方法:

static public Handler getExitHandler()
{
    return handler;
}

并且在每个类中我获取此处理程序并在我想要退出时发送消息:

MyMainActivity.getExitHandler().sendEmptyMessage(0);

再次,不是那么干净,但关于System.exit(2);

是一样的

答案 1 :(得分:1)

您可以弹出一个通知用户的对话框:“应用程序将在x秒后关闭”并启动一个计时器,当活动结束时调用活动的结束()。

答案 2 :(得分:1)

嗯,有一个原因,每个人都这么说,并且与“你没有关闭网页”相同。我不知道用户会期望什么,但这是Android / iOS的工作方式。

我已经使用过标记ACTIVITY_CLEAR_TOP(您在意图上设置标志以打开包含关闭按钮的活动),因此以这种方式删除活动堆栈,当前的活动重演:所以当你完成();该应用程序“关闭”。

Intent intent = new Intent(this, Some.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);