我开发了一个使用一些外部开源项目的应用程序。现在我确保没有应用程序强行关闭的地方。但是,我不想冒险考虑外部开源应用程序。我想确保如果我的应用程序强制关闭,我从一开始就重新启动应用程序。
我在网上搜索了一个解决方案,我能找到的最好的是here。但是我真的无法理解如何实现它......
我见过许多应用程序在关闭时打开第一个屏幕,所以你能给我一些帮助吗?
答案 0 :(得分:2)
您发布的链接是实现此目的的方法。如果您添加Android Application(如果尚未添加),则最好。在此处注册UncaughtExceptionHandler您的应用内onCreate
方法:
//Inside your ApplicationClass
public void onCreate(){
Log.v("MyApplication", "onCreate triggered")
Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandler(){
public void uncaughtException(Thread thread, Throwable ex){
Log.v("MyApplication", "onUncaughtException triggered. Error:")
ex.printStackTrace()
//restart your app here like this
Intent i = new Intent(this, TheClassYouWannaStart.class);
getApplicationContext().startActivity(i);
}
});
}
答案 1 :(得分:0)
我假设你的意思是服务。如果你的应用程序始终存在,我会讨厌你。但是对于服务,只需使用START_STICKY标志启动它。
实施例
public MyAmazingService extends Service {
@Override public int onStartCommand(Intent intent, int arg1, int arg2) {
// Doing some amazing stuff
return START_STICKY;
}
}