FacebookSDKをAndroidプロジェクトに統合しようとしています。Facebookダイアログにウォールメッセージを投稿しています。[共有]をクリックすると、メッセージがFacebookウォールに正常に投稿されます。しかし、私のゲームはまだクラッシュします!
アクティビティを拡張するメインクラスから呼び出します。FacebookのUIダイアログをポップアップするには、runOnUiThreadを使用します。(AsyncTaskは私のコードでは機能しません。)
public static int fbShareScores( final String sBody )
{
try
{
oThis.runOnUiThread (
new Runnable ( )
{
@Override
public void run ( )
{
Bundle params = new Bundle();
params.putString("caption", "Caption");
params.putString("description", sBody);
params.putString("picture", URL_TO_PNG);
params.putString("name", "Name");
oThis.mFacebook.dialog(oThis, "feed", params, null);
}
}
);
}
catch ( Exception e )
{
Log.d(Globals.sApplicationName, "share scores: Dialog: " + e.getMessage());
}
return 1;
}
logcatからの私のエラーは次のとおりです。
D / Facebook-WebView(957):Webviewの読み込みURL: https ://m.facebook.com/dialog/feedW / AudioFlinger(32):80ミリ秒の間書き込みがブロックされ、275の遅延書き込み、スレッド0xff88 D / dalvikvm(957):GC_CONCURRENTが539Kを解放、15%が7403K / 8647Kを解放、3ms+47msを一時停止D/webviewglue(957):nativeDestroyビュー:0x925250 D / Facebook-WebView(957):リダイレクトURL:fbconnect:// success?post_id = 570020602_418386674846932 D / AndroidRuntime(957):VMのシャットダウンW / dalvikvm(957):threadid = 1:キャッチされない例外でスレッドが終了します( group = 0x40014760)E / AndroidRuntime(957):致命的な例外:メインE / AndroidRuntime(957):java.lang.NullPointerException E / AndroidRuntime(957):com.facebook.android.FbDialog $ FbWebViewClient.shouldOverrideUrlLoading(FbDialog.java :143)E / AndroidRuntime(957):android.webkit.CallbackProxy.uiOverrideUrlLoading(CallbackProxy.java:219)E / AndroidRuntime(957):android.webkit.CallbackProxyで。handleMessage(CallbackProxy.java:319)E / AndroidRuntime(957):android.os.Handler.dispatchMessage(Handler.java:99)E / AndroidRuntime(957):android.os.Looper.loop(Looper.java: 126)E / AndroidRuntime(957):android.app.ActivityThread.main(ActivityThread.java:3997)E / AndroidRuntime(957):java.lang.reflect.Method.invokeNative(ネイティブメソッド)E / AndroidRuntime(957) ):at java.lang.reflect.Method.invoke(Method.java:491)E / AndroidRuntime(957):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:841)E / AndroidRuntime (957):com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)E / AndroidRuntime(957):dalvik.system.NativeStart.main(ネイティブメソッド)W / ActivityManager(67):Force終了アクティビティcom.companyname.mainclassname/.MainClassName319)E / AndroidRuntime(957):android.os.Handler.dispatchMessage(Handler.java:99)E / AndroidRuntime(957):android.os.Looper.loop(Looper.java:126)E / AndroidRuntime( 957):android.app.ActivityThread.main(ActivityThread.java:3997)E / AndroidRuntime(957):java.lang.reflect.Method.invokeNative(Native Method)E / AndroidRuntime(957):java.lang .reflect.Method.invoke(Method.java:491)E / AndroidRuntime(957):com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:841)E / AndroidRuntime(957):com .android.internal.os.ZygoteInit.main(ZygoteInit.java:599)E / AndroidRuntime(957):dalvik.system.NativeStart.main(ネイティブメソッド)W / ActivityManager(67):アクティビティcom.companynameを強制終了します。 mainclassname / .MainClassName319)E / AndroidRuntime(957):android.os.Handler.dispatchMessage(Handler.java:99)E / AndroidRuntime(957):android.os.Looper.loop(Looper.java:126)E / AndroidRuntime( 957):android.app.ActivityThread.main(ActivityThread.java:3997)E / AndroidRuntime(957):java.lang.reflect.Method.invokeNative(Native Method)E / AndroidRuntime(957):java.lang .reflect.Method.invoke(Method.java:491)E / AndroidRuntime(957):com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:841)E / AndroidRuntime(957):com .android.internal.os.ZygoteInit.main(ZygoteInit.java:599)E / AndroidRuntime(957):dalvik.system.NativeStart.main(ネイティブメソッド)W / ActivityManager(67):アクティビティcom.companynameを強制終了します。 mainclassname / .MainClassNamedispatchMessage(Handler.java:99)E / AndroidRuntime(957):at android.os.Looper.loop(Looper.java:126)E / AndroidRuntime(957):at android.app.ActivityThread.main(ActivityThread.java: 3997)E / AndroidRuntime(957):java.lang.reflect.Method.invokeNative(ネイティブメソッド)E / AndroidRuntime(957):java.lang.reflect.Method.invoke(Method.java:491)E / AndroidRuntime (957):com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:841)E / AndroidRuntime(957):com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) )E / AndroidRuntime(957):dalvik.system.NativeStart.main(ネイティブメソッド)W / ActivityManager(67):アクティビティcom.companyname.mainclassname/.MainClassNameを強制終了しますdispatchMessage(Handler.java:99)E / AndroidRuntime(957):at android.os.Looper.loop(Looper.java:126)E / AndroidRuntime(957):at android.app.ActivityThread.main(ActivityThread.java: 3997)E / AndroidRuntime(957):java.lang.reflect.Method.invokeNative(ネイティブメソッド)E / AndroidRuntime(957):java.lang.reflect.Method.invoke(Method.java:491)E / AndroidRuntime (957):com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:841)E / AndroidRuntime(957):com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) )E / AndroidRuntime(957):dalvik.system.NativeStart.main(ネイティブメソッド)W / ActivityManager(67):アクティビティcom.companyname.mainclassname/.MainClassNameを強制終了します126)E / AndroidRuntime(957):android.app.ActivityThread.main(ActivityThread.java:3997)E / AndroidRuntime(957):java.lang.reflect.Method.invokeNative(ネイティブメソッド)E / AndroidRuntime(957) ):at java.lang.reflect.Method.invoke(Method.java:491)E / AndroidRuntime(957):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:841)E / AndroidRuntime (957):com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)E / AndroidRuntime(957):dalvik.system.NativeStart.main(ネイティブメソッド)W / ActivityManager(67):Force終了アクティビティcom.companyname.mainclassname/.MainClassName126)E / AndroidRuntime(957):android.app.ActivityThread.main(ActivityThread.java:3997)E / AndroidRuntime(957):java.lang.reflect.Method.invokeNative(ネイティブメソッド)E / AndroidRuntime(957) ):at java.lang.reflect.Method.invoke(Method.java:491)E / AndroidRuntime(957):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:841)E / AndroidRuntime (957):com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)E / AndroidRuntime(957):dalvik.system.NativeStart.main(ネイティブメソッド)W / ActivityManager(67):Force終了アクティビティcom.companyname.mainclassname/.MainClassNameinvoke(Method.java:491)E / AndroidRuntime(957):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:841)E / AndroidRuntime(957):atcom.android.internal。 os.ZygoteInit.main(ZygoteInit.java:599)E / AndroidRuntime(957):dalvik.system.NativeStart.main(ネイティブメソッド)W / ActivityManager(67):強制終了アクティビティcom.companyname.mainclassname / .MainClassNameinvoke(Method.java:491)E / AndroidRuntime(957):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:841)E / AndroidRuntime(957):atcom.android.internal。 os.ZygoteInit.main(ZygoteInit.java:599)E / AndroidRuntime(957):dalvik.system.NativeStart.main(ネイティブメソッド)W / ActivityManager(67):強制終了アクティビティcom.companyname.mainclassname / .MainClassName