我需要在用户更改首选项时重新启动应用程序.清除堆栈对我没有帮助,因为这不会取消后端服务调用.我想杀死应用程序进程本身.我在用
Process.killProcess(Process.myPid());
Run Code Online (Sandbox Code Playgroud)
它可以帮我杀死应用程序.但我需要的是重新启动应用程序.意味着终止进程并触发新进程,以便应用程序再次启动.
有没有办法做到这一点?
提前致谢.
这不是人们应该在测试环境之外尝试做的事情.
那就是两个想法:
1)在不久的将来设置闹钟一段时间然后杀死你的过程
2)启动其他东西(可能是一个小的本机进程或shell脚本)来检测你的死亡并通过意图重启你
你也可以试着开始自己开始然后快速死亡的意图,但这听起来像一个潜在的竞争条件取决于实施.如果您从/ proc中获取了绑定器fd并在本机代码中执行了恶意操作,那么您可能能够以这样一种方式启动意图:应用程序在ioctl的返回时崩溃...
Android 并不是为此而设计的,这也不是“要求”。这是一个实现。具体要求是什么?为什么您不能将应用程序设计为在不重新启动的情况下处理首选项更改?这似乎是一个非常糟糕的解决方案。
| 归档时间: |
|
| 查看次数: |
13391 次 |
| 最近记录: |