2017-10-18 83 views
0

我尝试添加的WebView到我的活动新的WebView:异常对棒棒堂5.1设备

WebView webView = new WebView(this); 

所有设备上的这项工作很好,但运行Android Lollipop 5.1(只)设备我在这一行有例外:

10-18 12:04:29.741 13131-13131/xx.xxxxxx E/AndroidRuntime: FATAL EXCEPTION: main 
Process: xx.xxxxxx, PID: 13131 
java.lang.RuntimeException: Unable to start activity ComponentInfo{xx.xxxxxx/xx.xxxxxx.activity.login.UseActivity}: android.content.res.Resources$NotFoundException: String resource ID #0x2040003 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
    at android.app.ActivityThread.access$800(ActivityThread.java:151) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:135) 
    at android.app.ActivityThread.main(ActivityThread.java:5254) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:372) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
     Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x2040003 
     at android.content.res.Resources.getText(Resources.java:299) 
     at android.content.res.Resources.getString(Resources.java:385) 
     at com.android.org.chromium.content.browser.ContentViewCore.setContainerView(ContentViewCore.java:684) 
     at com.android.org.chromium.content.browser.ContentViewCore.initialize(ContentViewCore.java:608) 
     at com.android.org.chromium.android_webview.AwContents.createAndInitializeContentViewCore(AwContents.java:631) 
     at com.android.org.chromium.android_webview.AwContents.setNewAwContents(AwContents.java:780) 
     at com.android.org.chromium.android_webview.AwContents.<init>(AwContents.java:619) 
     at com.android.org.chromium.android_webview.AwContents.<init>(AwContents.java:556) 
     at com.android.webview.chromium.WebViewChromium.initForReal(WebViewChromium.java:311) 
     at com.android.webview.chromium.WebViewChromium.access$100(WebViewChromium.java:96) 
     at com.android.webview.chromium.WebViewChromium$1.run(WebViewChromium.java:263) 
     at com.android.webview.chromium.WebViewChromium$WebViewChromiumRunQueue.drainQueue(WebViewChromium.java:123) 
     at com.android.webview.chromium.WebViewChromium$WebViewChromiumRunQueue$1.run(WebViewChromium.java:110) 
     at com.android.org.chromium.base.ThreadUtils.runOnUiThread(ThreadUtils.java:144) 
     at com.android.webview.chromium.WebViewChromium$WebViewChromiumRunQueue.addTask(WebViewChromium.java:107) 
     at com.android.webview.chromium.WebViewChromium.init(WebViewChromium.java:260) 
     at android.webkit.WebView.<init>(WebView.java:554) 
     at android.webkit.WebView.<init>(WebView.java:489) 
     at android.webkit.WebView.<init>(WebView.java:472) 
     at android.webkit.WebView.<init>(WebView.java:459) 
     at android.webkit.WebView.<init>(WebView.java:449) 
     at xx.xxxxxx.activity.login.UseActivity.onActivityCreate(UseActivity.java:69) 
     at xx.xxxxxx.activity.BaseActivity.onCreate(BaseActivity.java:148) 
     at android.app.Activity.performCreate(Activity.java:5990) 
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
     at android.app.ActivityThread.access$800(ActivityThread.java:151) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:135) 
     at android.app.ActivityThread.main(ActivityThread.java:5254) 
     at java.lang.reflect.Method.invoke(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:372) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 

我在做什么错,什么是解决Android Lollipop 5.1设备的最佳方式。

+0

'资源$ NotFoundException' –

+0

是的,但为什么只有5.1设备上的例外情况(可能是5.1,未安装Google Play服务或未注册Google帐户)? –

+0

分享您的UseActivity&BaseActivity代码 – Mehta

回答

0

这可以通过固定捕捉错误,然后用,而不是应用程序上下文创建的WebView:

try { 
    webView = new WebView(this); 
} 
catch (Resources.NotFoundException e) { 
    // Some older devices can crash when instantiating a WebView, due to a Resources$NotFoundException 
    // Creating with the application Context fixes this, but is not generally recommended for view creation 
    webView = new WebView(getApplicationContext()); 
} 

与应用程序上下文创建视图一般不提倡,但是是一个不错的后备这里。

相关问题