0

Facebook SDK (および Twitter、Linkedin) を使用してアプリにログインしました。minSdkVersion<10 を指定すると、完全に機能します。Fragment を使用するには、アプリをアップグレードする必要があります。

<uses-sdk android:minSdkVersion="10" />

11 以上の場合、トークンを受け取った後にアプリがクラッシュします。私は助けが必要です!エラーを見てください:

アップデート

07-12 16:58:44.136: D/AndroidRuntime(18310): Shutting down VM

    07-12 16:58:44.148: E/AndroidRuntime(18310): FATAL EXCEPTION: main
07-12 16:58:44.148: E/AndroidRuntime(18310): java.lang.NullPointerException: println needs a message
07-12 16:58:44.148: E/AndroidRuntime(18310):    at android.util.Log.println_native(Native Method)
07-12 16:58:44.148: E/AndroidRuntime(18310):    at android.util.Log.d(Log.java:138)
07-12 16:58:44.148: E/AndroidRuntime(18310):    at com.branchu1.Login$1$1.onComplete(Login.java:161)
07-12 16:58:44.148: E/AndroidRuntime(18310):    at com.facebook.android.Facebook$1.onComplete(Facebook.java:312)
07-12 16:58:44.148: E/AndroidRuntime(18310):    at com.facebook.android.FbDialog$FbWebViewClient.shouldOverrideUrlLoading(FbDialog.java:144)
07-12 16:58:44.148: E/AndroidRuntime(18310):    at android.webkit.CallbackProxy.uiOverrideUrlLoading(CallbackProxy.java:224)
07-12 16:58:44.148: E/AndroidRuntime(18310):    at android.webkit.CallbackProxy.handleMessage(CallbackProxy.java:324)
07-12 16:58:44.148: E/AndroidRuntime(18310):    at android.os.Handler.dispatchMessage(Handler.java:99)
07-12 16:58:44.148: E/AndroidRuntime(18310):    at android.os.Looper.loop(Looper.java:137)
07-12 16:58:44.148: E/AndroidRuntime(18310):    at android.app.ActivityThread.main(ActivityThread.java:4424)
07-12 16:58:44.148: E/AndroidRuntime(18310):    at java.lang.reflect.Method.invokeNative(Native Method)
07-12 16:58:44.148: E/AndroidRuntime(18310):    at java.lang.reflect.Method.invoke(Method.java:511)
07-12 16:58:44.148: E/AndroidRuntime(18310):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
07-12 16:58:44.148: E/AndroidRuntime(18310):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
07-12 16:58:44.148: E/AndroidRuntime(18310):    at dalvik.system.NativeStart.main(Native Method)

Twitter や Linkedin SDK とまったく同じです。フィールド android:minSdkVersion をマニフェストから削除すると、機能します。本当にわからない!

ありがとう!

4

2 に答える 2

0

「@Rawkode 行 161 は facebook SDK の lof です。Log.d("Facebook", e.getMessage()); Facebook は何も送信していないようで、この行からエラーが発生します。」

問題は、e.getMessage() が null 文字列であり、null 文字列で Log.d(TAG, message) を呼び出そうとすると、NPE でクラッシュすることです。同様の問題が発生し、追跡するのに時間がかかりました。

getMessage() メソッドは必須ではないため、一部のエラーにはデータがありません。私の解決策は、常にテキストが含まれる独自のメソッドを作成することでした。これにより、別の NPE が取得されることはありません。

private void logIt(String message){
    Log.d(TAG, "Logged: " + message);
}

通常の Log.d() の代わりにそれを呼び出すだけで、ログに記録するデータが常に存在するため、その問題は発生しません(この場合、「Logged: null」と表示されます)。個々のタグを受け入れるようにそのメソッドを変更することもできますが、必須ではありません。

于 2012-07-12T17:23:06.400 に答える
0

同じエラーが発生しました.アプリはバージョン 9 以下で完全に動作しますが、Android 3.0 以降では動作しません。

新しいFacebookのAPIで試してみてください..

https://developers.facebook.com/android/

私の英語でごめんなさい!

于 2012-12-17T17:56:19.917 に答える