Intereting Posts
Android: странная инверсия веса в LinearLayout Почему Xamarin.Forms так медленно при отображении нескольких ярлыков (особенно на Android)? Добавление нижнего поля в последний элемент списка ListView Передвиньте один макет с помощью мягкой клавиатуры, но держите его внизу Android Bluetooth: получить UUID обнаруженных устройств Как использовать привязку данных для объединения строки из ресурсов с динамической переменной в XML? Как окрасить контур моего текста черным в xml для андроида Прослушивание уведомления на Android Вызов метода тестируемой активности из теста с использованием эспрессо и просмотр его результатов Список ключевых слов «noinspection» в Android Studio Listfragment простой пример Размер иконок для элементов управления одеждой для Android Как обращаться с: java.util.concurrent.TimeoutException: android.os.BinderProxy.finalize () вышло после 10 секундных ошибок? Ошибка отправки результата ResultInfo {who = null, request = 1, result = -1, data = Intent {(имеет дополнительные функции)}} для активности; java.lang.NullPointerException Android: чтение и запись метаданных .mp4 -Tag

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