我有一个包含LoginActivity
的应用程序,它使WebService请求授权用户。如果凭据正确,我会在Auth
单例中存储其会话ID。
但是在应用程序使用期间,用户可以注销(服务器重启等)。在这种情况下,我可以抛出一些AuthException
。它可以在每个应用程序的Activity
中抛出。
如何抓住每个AuthException
中的Activity
来完成当前的LoginActivity
并再次启动Application
?
这个例外可以在AuthLayerActivity
或某些其他人会延伸的{{1}}中到达吗?
答案 0 :(得分:1)
我不会使用Exceptions来做到这一点。特别是如果您尝试将Exception从一个Activity传播到另一个Activity。
但是活动通常需要不时更新其状态,如果您检查身份验证状态,则可以根据需要返回登录状态。或者,发送广播也可以作为通知。
答案 1 :(得分:0)
您可能希望使用Thread.setDefaultUncaughtExceptionHandler()
请参阅Ideal way to set global uncaught exception Handler in Android:
答案 2 :(得分:0)
您可以使用将处理异常部分的所有活动继承的父活动。
答案 3 :(得分:0)
你可以使用我喜欢的FitActivity来处理所有异常,并根据提供的策略做一些事情。 看这里:https://github.com/rysiekblah/android-commons/blob/master/src/main/java/com/rysiekblah/android/commons/activity/FitActivity.java