我正在整合BOX.COM
与我的 android 应用程序。所以我正在使用BoxAndroidLibraryV2
and BoxJavaLibraryV2
与我的申请。我可以运行示例 Android 应用程序BoxSDKSample
。因此,我从示例应用程序中复制了必要的类和布局。现在我收到如下错误消息。
07-23 15:51:02.230: E/AndroidRuntime(14857): Process: com.filenet.ecm, PID: 14857
07-23 15:51:02.230: E/AndroidRuntime(14857): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.filenet.ecm/com.box.boxandroidlibv2.activities.OAuthActivity} : java.lang.NullPointerException: Attempt to invoke virtual method 'void com.box.boxandroidlibv2.views.OAuthWebView.setAllowShowingRedirectPage(boolean)' on a null object reference
07-23 15:51:02.230: E/AndroidRuntime(14857): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2411)
07-23 15:51:02.230: E/AndroidRuntime(14857): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2474)
07-23 15:51:02.230: E/AndroidRuntime(14857): at android.app.ActivityThread.access$800(ActivityThread.java:144)
07-23 15:51:02.230: E/AndroidRuntime(14857): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1359)
07-23 15:51:02.230: E/AndroidRuntime(14857): at android.os.Handler.dispatchMessage(Handler.java:102)
07-23 15:51:02.230: E/AndroidRuntime(14857): at android.os.Looper.loop(Looper.java:155)
07-23 15:51:02.230: E/AndroidRuntime(14857): at android.app.ActivityThread.main(ActivityThread.java:5696)
07-23 15:51:02.230: E/AndroidRuntime(14857): at java.lang.reflect.Method.invoke(Native Method)
07-23 15:51:02.230: E/AndroidRuntime(14857): at java.lang.reflect.Method.invoke(Method.java:372)
07-23 15:51:02.230: E/AndroidRuntime(14857): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1029)
07-23 15:51:02.230: E/AndroidRuntime(14857): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:824)
07-23 15:51:02.230: E/AndroidRuntime(14857): Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.box.boxandroidlibv2.views.OAuthWebView.setAllowShowingRedirectPage(boolean)' on a null object reference
07-23 15:51:02.230: E/AndroidRuntime(14857): at com.box.boxandroidlibv2.activities.OAuthActivity.createOAuthWebView(OAuthActivity.java:78)
07-23 15:51:02.230: E/AndroidRuntime(14857): at com.box.boxandroidlibv2.activities.OAuthActivity.startOAuth(OAuthActivity.java:66)
07-23 15:51:02.230: E/AndroidRuntime(14857): at com.box.boxandroidlibv2.activities.OAuthActivity.onCreate(OAuthActivity.java:52)
07-23 15:51:02.230: E/AndroidRuntime(14857): at android.app.Activity.performCreate(Activity.java:5958)
07-23 15:51:02.230: E/AndroidRuntime(14857): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1129)
07-23 15:51:02.230: E/AndroidRuntime(14857): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364)
07-23 15:51:02.230: E/AndroidRuntime(14857): ... 10 more
请建议我解决这个问题。
带着敬意,
巴布·卡利亚穆尔蒂。
就像评论所说,如果没有更多代码,我们真的无法知道出了什么问题。但仔细观察 NullPointerException,这似乎是 OAuth 和 WebView 的一个非常常见的问题。您可以看到您的 OAuthWebView 最有可能是 null 对象。这意味着您可能需要创建 Web 视图,因为您可能从未创建过它。
您提到的示例可能已将 webview 内置到 Android .xml 文件或其他活动中,或者您忘记了该代码。仔细检查一下,是否可以发布代码。在创建 OAuthWebView 的位置发布代码。似乎在设置自定义 webview OAuthWebView 后,此错误应该消失。
java.lang.NullPointerException: Attempt to invoke virtual method 'void com.box.boxandroidlibv2.views.OAuthWebView.setAllowShowingRedirectPage(boolean)' on a null object reference
当你拿到时Attempt to invoke virtual method -blahblahblah- on a null object reference
向后看,看看最后一个函数是什么,又名虚拟方法,电话是(在你的情况下是setAllowingShowingRedirectPage(boolean)
) 并且空对象是调用该函数的对象,OAuthWebView
.
这种情况在您的堆栈跟踪中发生两次,因此很可能是您的实例的创建或管理OAuthWebView
是问题所在。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)