android - Android 服务中错误处理的最佳实践

标签 android exception error-handling android-service

我有一个 Android 服务,它使用单独的线程对图像进行一些后台处理。如果此服务中发生错误或线程中发生更糟的错误,最好的做法是将问题通知启动 Activity 并允许应用程序恢复到稳定状态(即它在启动服务之前所处的状态)。

我可以在服务中发布 Toast 或通知,但这对我没有帮助。我想将问题通知用户,但同时将应用程序恢复到稳定状态。

最佳答案

如果有人搜索这个,我会解释我最终做了什么。

在该服务中,我添加了一个扩展 AsyncTask 的私有(private)类。这是所有处理完成的地方。

在这个类中我有一个私有(private)变量'exception'。 doInBackground 方法的内容被 try/catch 包围,捕获到的任何异常都存储在“exception”中。在 onPostExecute 方法中,我检查是否设置了“异常”,如果是这种情况,我发送一个包含异常详细信息的广播 PROCESSING_ERROR,以便通知调用 Activity 。

如果您不知道什么是AsyncTaskdoInBackgroundonPostExecute,您应该阅读以下内容:

关于android - Android 服务中错误处理的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13108875/

相关文章:

asp.net - 捕获上传到大文件

python - 是否可以调用需要参数的函数,而无需该参数?在python上

android - 在滑动的 RecyclerView 项目下显示自定义 View

Android Build from source find - 没有这样的文件目录错误

android - Twilio Android 客户端 - 如何为接收来电的设备更新功能 token

android - 是否有任何 SMS API 可用于 android 从 android 应用程序发送 SMS?

java - 编写自定义异常的最佳方法

java - Spring DAO Repository 异常处理

java.lang.IllegalAccessException : is related to public/private attribute for classes? 异常

PHP:错误检查中的错误