我有一个服务,onStartCommand()与此类似:
private User user;@OverrIDepublic int onStartCommand(@Nullable final Intent intent,final int flags,final int startID) { if (user == null) { user = UserList.getInstance().getSpecialUser(); } Assert.assertNotNull(user); // // Build notification here,SEOmehow based on user object // startForeground(42,notification); return START_STICKY;}
显然,我希望我的服务在前台运行,并尽可能长时间运行.
这很有效,直到我的应用程序崩溃到其网络类的深处.当发生时,是否显示应用程序崩溃对话框,用户确认它,重新创建整个应用程序,还重新创建服务,但UserList现在为空,因此getSpecialUser()返回null并且Assert再次使用该应用程序. AndroID在主屏幕中放弃和用户结束.
有没有办法检测崩溃,这将使我能够更优雅地处理这种情况?
最佳答案在您的应用程序中创建一个uncaughtExceptionHandlerpublic class MyApplication extends androID.app.Application{ @OverrIDe public voID onCreate() { super.onCreate(); Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandler() { @OverrIDe public voID uncaughtException(Thread arg0,Throwable arg1) { doSomething(); } }); }}
总结 以上是内存溢出为你收集整理的android – 检测服务崩溃全部内容,希望文章能够帮你解决android – 检测服务崩溃所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)