2015-07-23 22 views
6

Integruję aplikację BOX.COM z moją aplikacją na Androida. Korzystam z mojej aplikacji pod numerami BoxAndroidLibraryV2 i BoxJavaLibraryV2. Mogę uruchomić przykładową aplikację na Androida: BoxSDKSample. Skopiowałem więc niezbędne klasy i układy z przykładowej aplikacji. Teraz otrzymuję komunikat o błędzie w następujący sposób.Integracja Box.COM z aplikacją na Androida - OAuthActivity-Null pointerexception?

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 

Proszę zasugerować, aby rozwiązać ten problem.

Z poważaniem,

Babu Kaliyamoorthy.

+0

Proszę podać jakiś kod – Skynet

+0

Babu, pisać kodu, co próbowałeś do tej pory. –

Odpowiedz

0

Podobnie jak w komentarzach, naprawdę nie możemy dowiedzieć się bez większej ilości kodu, co jest nie tak. Ale patrząc bliżej na NullPointerException, wydaje się, że jest to dość powszechny problem z OAuth i WebViews. Możesz zobaczyć, że Twój OAuthWebView był najprawdopodobniej obiektem zerowym. Oznacza to, że prawdopodobnie musisz utworzyć widok sieciowy, ponieważ prawdopodobnie nigdy go nie utworzyłeś.

Próbka, o której mówisz, mogła mieć wbudowaną przeglądarkę internetową w pliki .xml systemu Android lub inną aktywność lub nie pamiętasz tego kodu. Po prostu dokładnie to sprawdź i jeśli możesz opublikować kod. Kod pocztowy w miejscu, w którym utworzysz OAuthWebView. Wygląda na to, że po skonfigurowaniu niestandardowego widoku internetowego OAuthWebView ten błąd powinien zniknąć.

java.lang.NullPointerException: Attempt to invoke virtual method 'void com.box.boxandroidlibv2.views.OAuthWebView.setAllowShowingRedirectPage(boolean)' on a null object reference

Gdy dojdziesz Attempt to invoke virtual method -blahblahblah- on a null object reference spojrzeć wstecz i zobaczyć, co ostatnia funkcja, AKA wirtualna metoda, telefon był (w twoim przypadku było setAllowingShowingRedirectPage(boolean)) i zerowy obiekt był obiekt, który nazywa tę funkcję , OAuthWebView.

To zdarza się dwa razy w śledzeniu stosu, więc bardzo prawdopodobne jest, że problem dotyczy utworzenia lub zarządzania instancją OAuthWebView.

Powiązane problemy