我开发了一个使用一些外部开源项目的应用程序。现在我已经确保应用程序没有强制关闭的地方。但是,我不想冒险考虑外部开源应用程序。我想确保如果我的应用程序强制关闭,我会从头开始重新启动应用程序。
我在网上搜索了一个解决方案,我能找到的最好的就是在这里。但是我真的无法理解如何实现它......
我见过很多应用程序会在强制关闭时打开第一个屏幕,你能给我一些帮助吗?
我开发了一个使用一些外部开源项目的应用程序。现在我已经确保应用程序没有强制关闭的地方。但是,我不想冒险考虑外部开源应用程序。我想确保如果我的应用程序强制关闭,我会从头开始重新启动应用程序。
我在网上搜索了一个解决方案,我能找到的最好的就是在这里。但是我真的无法理解如何实现它......
我见过很多应用程序会在强制关闭时打开第一个屏幕,你能给我一些帮助吗?
您发布的链接就是这样做的方法。如果您还没有添加 Android应用程序,那么最好是这样。在您的应用程序方法中注册一个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);
}
});
}
我假设你的意思是服务。如果你有一个总是让自己出现的应用程序,我会讨厌你。但是对于服务,只需使用START_STICKY标志启动它。
例子
public MyAmazingService extends Service {
@Override public int onStartCommand(Intent intent, int arg1, int arg2) {
// Doing some amazing stuff
return START_STICKY;
}
}