我在应用程序中试用ActivityManager.killBackgroundProcesses,注意到了一些有趣的东西。我希望stackoverflow上的人能对此有所了解。
所以如果我启动一个应用程序,例如youtube,我首先看到视频页面的列表,然后我点击菜单->设置,我会得到设置页面。现在,如果我点击主页按钮,它将把youtube放在后台。到目前为止还不错。现在,如果我运行ActivityManager.killBackgroundProcesses来杀死youtube应用程序(或者我使用Advanced task killer,我相信它使用的是同一个API),当我再次启动youtube时,我会看到设置页面,而不是视频页面的默认列表。
但是,如果我不做ActivityManager.killBackgroundProcesses,而是转到系统设置->管理应用程序->Youtube->强制停止,当我再次启动Youtube时,我会得到视频页面的列表,而不是设置页面。
因此,ActivityManager.killBackgroundProcesses似乎与强制停止不同,因为它仍然记得它被置于后台之前的最后一个任务/页面,而强制停止会给你一个新的开始。
有人对此有很好的解释吗?在我的代码中,是否可以执行"强制停止"以重新启动应用程序?
非常感谢!
好吧,我不确定如何使用它,就像我以前从未尝试过的那样,但也许它会有所帮助-考虑使用:android.os.Process.killProcess(android.os.Process.myPid());
关于你们的问题,为什么系统可以停止,而你们不能。事实是,这个系统可以做得更多。更特别的是,当你按下强制停止按钮时,系统会发送终止信号(信号9)以给定的pid进行处理。
这就是为什么我认为上面的函数应该有所帮助,因为它正在发送几乎相同的信号。
希望它能有所帮助。
在Android操作系统安全系统中录制应用程序不能扼杀其他活动。你们可以将请求发送到系统,然后它会为你们做所有需要的事情,如果可能的话。
设置是系统应用程序,这就是为什么它比你的应用程序有更多的访问权限。
所以,看起来操作系统不允许你杀死应用程序。不确定,但试着检查一下你的应用程序许可证——也许解决方案就在那里。