Intereting Posts
Android usb мыши правой кнопкой мыши правильное поведение (ICS) Звук загрузки Soundpool Компонент имени «OMX.qcom.audio.decoder.aac» уже существует, игнорируя этот Как использовать Actions from Notification без начала действия Как я могу изменить размер imageButton? Android – автоматическое оверлейное нажатие / выделенное состояние изображения В чем разница между андроидом: высота и андроид: layout_height? Почему onRestoreInstanceState () никогда не вызывается Добавление gif-изображения в ImageView в Android Тестирование приложений Android на реальном устройстве Жизненный цикл операции – получение уведомления о том, что макет завершен Лучший способ удалить Activity и его ссылки в Android Studio Экспорт Android дает «Конверсия в формат Dalvik с ошибкой 1» Intent.ACTION_HEADSET_PLUG принимается, когда начинается действие Как закодировать обратно совместимую новую функцию в Android SDK? Действительно ли фрагментам нужен пустой конструктор?

AdWhirl вызывает java.lang.NullPointerException после отключения сети

Я использую AdWhirl и Admob в одном из своих приложений после выпуска, мы получаем много ошибок от adwhirl, и оно легко воспроизводится следующим образом:

После того, как объявление появится, я отключу Wi-Fi и подождите время ожидания объявления, а затем нажмите кнопку «Назад», чтобы закрыть приложение.

То появляется ошибка. Src может скачать из этого. И исключение выглядит следующим образом:

05-17 11:00:13.265: E/AndroidRuntime(12482): java.lang.RuntimeException: Unable to destroy activity {me.test.admob/me.test.admob.AdWhirlTestActivity}: java.lang.NullPointerException 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3112) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3130) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.app.ActivityThread.access$1200(ActivityThread.java:123) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1180) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.os.Handler.dispatchMessage(Handler.java:99) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.os.Looper.loop(Looper.java:137) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.app.ActivityThread.main(ActivityThread.java:4424) 05-17 11:00:13.265: E/AndroidRuntime(12482): at java.lang.reflect.Method.invokeNative(Native Method) 05-17 11:00:13.265: E/AndroidRuntime(12482): at java.lang.reflect.Method.invoke(Method.java:511) 05-17 11:00:13.265: E/AndroidRuntime(12482): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 05-17 11:00:13.265: E/AndroidRuntime(12482): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 05-17 11:00:13.265: E/AndroidRuntime(12482): at dalvik.system.NativeStart.main(Native Method) 05-17 11:00:13.265: E/AndroidRuntime(12482): Caused by: java.lang.NullPointerException 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.webkit.WebView.requestFocus(WebView.java:7650) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.view.ViewGroup.onRequestFocusInDescendants(ViewGroup.java:2154) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.view.ViewGroup.requestFocus(ViewGroup.java:2110) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.view.ViewGroup.onRequestFocusInDescendants(ViewGroup.java:2154) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.view.ViewGroup.requestFocus(ViewGroup.java:2110) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.view.ViewGroup.onRequestFocusInDescendants(ViewGroup.java:2154) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.view.ViewGroup.requestFocus(ViewGroup.java:2110) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.view.ViewGroup.onRequestFocusInDescendants(ViewGroup.java:2154) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.view.ViewGroup.requestFocus(ViewGroup.java:2110) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.view.ViewGroup.onRequestFocusInDescendants(ViewGroup.java:2154) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.view.ViewGroup.requestFocus(ViewGroup.java:2110) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.view.ViewGroup.onRequestFocusInDescendants(ViewGroup.java:2154) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.view.ViewGroup.requestFocus(ViewGroup.java:2110) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.view.ViewGroup.onRequestFocusInDescendants(ViewGroup.java:2154) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.view.ViewGroup.requestFocus(ViewGroup.java:2113) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.view.View.requestFocus(View.java:5323) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.view.ViewRootImpl.clearChildFocus(ViewRootImpl.java:2200) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.view.ViewGroup.clearChildFocus(ViewGroup.java:669) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.view.ViewGroup.clearChildFocus(ViewGroup.java:669) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.view.ViewGroup.clearChildFocus(ViewGroup.java:669) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.view.ViewGroup.clearChildFocus(ViewGroup.java:669) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.view.ViewGroup.clearChildFocus(ViewGroup.java:669) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.view.ViewGroup.removeViewInternal(ViewGroup.java:3591) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.view.ViewGroup.removeViewInternal(ViewGroup.java:3561) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.view.ViewGroup.removeView(ViewGroup.java:3509) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:998) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1080) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.support.v4.app.FragmentManagerImpl.dispatchDestroy(FragmentManager.java:1843) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.support.v4.app.FragmentActivity.onDestroy(FragmentActivity.java:314) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.app.Activity.performDestroy(Activity.java:4629) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1079) 05-17 11:00:13.265: E/AndroidRuntime(12482): at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3099) 05-17 11:00:13.265: E/AndroidRuntime(12482): ... 11 more 

После моего теста я обнаружил, что это исключение появляется только при использовании adwhirl с ListFragment в ViewPager. Если я использую только в ListFragment или использую Fragment в ViewPager, это нормально работает. Но я все еще хочу знать, что не так, и как я могу решить это исключение.

Любой ответ будет оценен.

Solutions Collecting From Web of "AdWhirl вызывает java.lang.NullPointerException после отключения сети"

  1. Убедитесь, что вы обрабатываете AdWhirl в методе onDestory ()
  2. Используйте try catch, чтобы поймать NullPointer, обратитесь к разработчикам и надейтесь, что они исправит это (если это ошибка)

Найдите функцию, в которой AdMob или AdWhirl пытаются изменить рекламный баннер каждые несколько секунд или минут. Это исключение происходит потому, что в этой функции нет обработчика исключений. После того, как вы отключите Wi-Fi, какой-то код ожидает корректного подключения к Интернету, но больше нет связи. В лучшем случае попробуйте следующее:

  1. Перейдите к функции, в которой рекламный баннер изменяется каждые х секунд / минут.
  2. Там вы должны окружить код обработчиком исключений, например try / catch. И поймаем исключение NullPointerException.

Allways проверяет содержимое объекта, который имеет отношение к сервису

 if(conection !=null){ execute(); } 

Потому что вы используете webView, всегда проверяете, что ваш телефон подключен, прежде чем выполнять это, следует остановить нулевой указатель

Трудно дать лучшее представление без примера вашего кода

Но вы можете проверить, используя диспетчер подключений, ниже приведен пример того, как проверить Wi-Fi

 public boolean isOnWifi(Context context) { ConnectivityManager connManager = (ConnectivityManager) context .getSystemService(CONNECTIVITY_SERVICE); NetworkInfo mWifi = connManager .getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (mWifi.isConnected()) { return true; } return false; } 

Чтобы узнать, есть ли сотовая связь, просто измените ConnectivityManager.TYPE_WIFI на ConnectivityManager.TYPE_MOBILE