Android 如何从 AsyncTask 内部处理网络异常

标签 android

我正在从 AsyncTask 调用网络服务。它工作正常,但我正在尝试在关闭手机的移动网络后对其进行测试。这是为了复制没有信号的用户。

这是代码。

 @Override
        protected Void doInBackground(String... params) {

            try {
                Log.e(TAG, "inside doInBackground");


                rotaArray = nfcscannerapplication.loginWebservice.getRota(params[0], params[1]);


            } catch (Exception e) {

                Log.e(TAG, "there's a problem");

               e.printStackTrace();


            }
            return null;

        }

尽管抛出 java.net.ConnectionException,但日志语句永远不会注销到 logcat enev。我如何处理可能没有网络信号的情况并优雅地退出应用程序,或者甚至更好地再次调用 oncreate Activity ?

最佳答案

我相信您想在网络出现故障时提供一些消息或解决一些问题....如果是这种情况,那么您需要检查您的设备是否有 Activity 的网络连接....

我认为this link会有所帮助...:)

关于Android 如何从 AsyncTask 内部处理网络异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12564220/

相关文章:

android - 如何使用 MVVMCross 将 Fragments 集成到 ViewModels 中

android - Android 中的自定义操作栏与父级不匹配

android - 无法在棉花糖版本的外部存储中创建文件夹

android - 如何隐藏 url 请求

Android 错误构建签名的 APK : keystore. jks 未找到用于签名配置 'externalOverride'

android - AsyncTask 中的日志记录应用程序

java - 无法解析 : com. android.support.constraint :constraint- layout:1. 1.0-beta1

java - 错误 :warning: Ignoring InnerClasses attribute for an anonymous inner class Error:(org. jsonschema2pojo.gradle。)

android - 如何隐藏状态栏?

android - 使用全屏主题时,React Native 'Modal' 组件未覆盖 Android 上的整个屏幕