首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >关闭网络后导致java.lang.NullPointerException的AdWhirl

关闭网络后导致java.lang.NullPointerException的AdWhirl
EN

Stack Overflow用户
提问于 2012-05-17 11:08:32
回答 1查看 668关注 0票数 17

我在我的一个应用中使用了adwhirl和Admob,在发布后,我们从AdWhirl中得到了很多错误,它很容易像这样重现:

广告出现后,我关闭wifi,等待广告超时,然后按back按钮退出应用程序。

然后可以从this.and下载appear.the src的错误,异常如下:

代码语言:javascript
复制
 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

在我的测试之后,我发现只有在ViewPager中使用adwhirl和ListFragment时才会出现这个异常,如果我只在ListFragment中使用,或者在ViewPager中使用Fragment,它是正常工作的。但是我仍然想知道哪里出了问题,以及我如何解决这个异常。

任何答案都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2012-07-11 00:00:00

始终检查连接到服务的对象的内容

代码语言:javascript
复制
if(conection !=null){
execute();
}

因为您使用的webView总是在执行之前检查您的电话连接是否打开,所以这应该会停止空指针

如果没有代码示例,很难给出更好的见解

但是您可以使用连接性管理器进行检查,下面是如何检查wifi的一个示例。

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10629329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档