我正在开发基于Gps的应用程序,它始终在后台运行。但在极低内存的情况下(或当我打开许多应用程序)我的应用程序被Android系统杀死。
我想重新启动我的应用程序,当它被android系统杀死。我谷歌它为此但没有得到任何解决方案。任何帮助将不胜感激。
谢谢
答案 0 :(得分:2)
您是否在服务中完成了GPS逻辑?该服务是最后被杀死的东西之一,主要是因为它必须被杀死以释放所需的内存。
也许您的服务应该创建通知,以便通知用户并可以通过点击通知手动重启应用...
答案 1 :(得分:1)
您是否看过这个Activity Lifecycle流程图?在其他应用程序需要内存的情况下,onPause()是在应用程序停止或终止之前发生的最后保证。所以这就是你需要通知的地方(如@WarrenFaith所说)或其他可能会使你的应用程序恢复活力的机制,或者至少让用户ping它以恢复它。
答案 2 :(得分:1)
我认为[startForeground()] [1]正是你要找的。 Android不会终止您的服务,因此您不必担心重新启动它。
祝你好运 汤姆[1]:http://developer.android.com/reference/android/app/Service.html#startForeground(int,android.app.Notification)
答案 3 :(得分:0)
您可以尝试在调用onDestroy()函数时启动应用程序的新实例。例如:
@Override
public void onDestroy() {
Intent intent = new Intent(Thisclass.this, Thisclass.class);
Thisclass.this.startActivity(intent);
super.onDestroy();
}
答案 4 :(得分:0)
也许你可以利用意图,当这个应用程序被android杀死时,将一个令牌发送给另一个侦听器,以便其他服务器可以启动此活动。
虽然我看不出这不会是一个循环。你结束你的应用程序的方式非常类似于android结束你的应用程序的方式!所以我很确定当你试图结束应用程序时,它会无限循环,表现得非常像恶意软件!