Android应用终止

时间:2013-08-14 11:19:45

标签: android

我真的需要能够在单击菜单按钮上终止应用程序。 我的菜单运行正常,但是当我尝试终止/终止应用程序时,它只关闭当前活动并打开上一个活动。

  • 我需要能够使用后退按钮或我导航按钮设计在应用程序中的活动之间来回导航
  • 在菜单中,我添加了一个退出应用程序的按钮,在点击事件中,我输入了代码

    android.os.Process.killProcess(android.os.Process.myPid())

  • 然而没有任何反应,我的意思是一样的。表现得像Finish()。点击该按钮后,我需要完成所有活动。

  • 我非常讨厌后退按钮进入应用程序的深处,导航几分钟,然后当你想要关闭应用程序时......不需要点击主页按钮,就需要你回过去以前所做的所有步骤几乎都是相同的时间,相反......至少可以说是烦人的。
  • 另外,我的应用程序几乎在每个Activity上创建了HTTP请求,因此我的应用程序在返回时会产生双倍的互联网流量。并且“是”我的应用程序需要这样做。我无法在本地缓存我的数据库并从此处使用它,因为我的应用程序将同时被多个用户使用,并且每次进入活动时都需要查看更新的数据
  • 我不希望/需要我的应用程序保持开放以供将来使用。我的应用程序将需要用户+通过身份验证,我需要提供在用户想要注销时能够关闭它的安全性,因此他可以在离开厕所时将他的手机安全地放在桌子上(它只是一个例子)。
  • 我不需要讲述为什么Android要我不要关闭我的应用程序... 我不关心Android希望我做什么。这是我想做的事情,更重要的是。如果我的用户无人看管他的手机,任何人都可以启动应用程序并登录并查看我的应用程序存储的任何信息,所以不,我不希望我的应用程序留在。当用户选择停止时,我希望 STOPPED

那么请告诉我该怎么做? 我尝试在清单中添加:

<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>

对于每个活动,然后每当我开始活动时添加它:

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

没有任何改变......当我点击退出按钮时,当前活动结束并且之前的活动显示出来。我讨厌这个。 请告诉我怎么做。

有很多TaskManager应用程序允许你完成其他应用程序,因此必须有一种方法能够完成自己的应用程序...... < / p>

谢谢

4 个答案:

答案 0 :(得分:2)

System.exit退出JVM并有效地杀死VM进程。

关于你的“假设”的一些注意事项需要退出应用程序,恕我直言,这并不能证明杀死应用程序并使用户在使用应用程序时遇到更糟糕的体验,并且还会影响其他应用程序以及整个运行它的设备。< / p>

  

在进入应用程序的深处时,我非常讨厌后退按钮,并且   导航几分钟,然后当你想要关闭   应用...没有点击主页按钮,它几乎相同   回过头所做的所有步骤的时间,   反过来......至少可以说是烦人的。

这就是为什么它被称为“后退”而不是“退出”。您可以在浏览器中对“后退”按钮说同样的内容。

  

另外,我的应用程序几乎每个Activity都会对onCreate发出HTTP请求,所以   “我的应用程序”在返回时会产生双倍的互联网流量

我不知道为什么回去时会造成双倍的流量。你说它应该刷新,所以如果你想刷新,你需要再次进行HTTP查询。我没有看到任何错误。

  

我不希望/需要我的应用程序保持开放以供将来使用。我的应用会   需要用户+通过身份验证,我需要提供安全性   当用户想要注销时能够关闭它

您无需为此退出。您可以将用户标记为在导航离开应用时未登录。通过这种方式,您可以在每次回访时询问用户+传递并保持显示相同的活动,这样他/她就不必再次导航到此活动。

  

我不需要讲述为什么Android要我不要关闭我的   app ...我不关心Android希望我做什么。

然后,每次回到应用程序时,您的应用程序将开始变慢,消耗更多电池等等。 Android应用开发指南并非“仅仅因为”。您需要遵循此指南是有充分理由的:因为这就是Android的工作原理。

答案 1 :(得分:0)

不要这样做,操作系统告诉我们什么时候App应该被定义。您永远不能关闭您的申请。

答案 2 :(得分:0)

替换你的行

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

然后试试。它适用于我的情况......我希望它也能帮到你。

答案 3 :(得分:0)

只需在退出按钮单击事件中使用它:

 System.exit(0);