我寫了一個代碼爲facebook integration.I創建應用程序Id並且還導入了Facebook sdk.I在我的主要活動上放置了一個按鈕,它將打開一個facebook對話框,詢問登錄ID和密碼。但點擊顯示「強制關閉」的AVD。裏面那個按鈕,我打電話以下功能:如何在我的android應用程序中整合Facebook?
public void loginToFacebook() {
mPrefs = getPreferences(MODE_PRIVATE);
String access_token = mPrefs.getString("access_token", null);
long expires = mPrefs.getLong("access_expires", 0);
if (access_token != null) {
facebook.setAccessToken(access_token);
}
if (expires != 0) {
facebook.setAccessExpires(expires);
}
if (!facebook.isSessionValid()) {
facebook.authorize(this,
new String[] { "email", "publish_stream" },
new DialogListener() {
@Override
public void onCancel() {
// Function to handle cancel event
}
@Override
public void onComplete(Bundle values) {
// Function to handle complete event
// Edit Preferences and update facebook acess_token
SharedPreferences.Editor editor = mPrefs.edit();
editor.putString("access_token",
facebook.getAccessToken());
editor.putLong("access_expires",
facebook.getAccessExpires());
editor.commit();
}
@Override
public void onFacebookError(FacebookError e) {
// TODO Auto-generated method stub
}
@Override
public void onError(DialogError e) {
// TODO Auto-generated method stub
}
});
}
}
以下是logcat的:
03-12 14:57:44.676: W/com.facebook.Session(499): Should not pass a read permission (email) to a request for publish or manage authorization
03-12 14:57:44.861: W/dalvikvm(499): VFY: unable to resolve static field 1431 (com_facebook_login_activity_layout) in Lcom/facebook/android/R$layout;
03-12 14:57:44.872: D/dalvikvm(499): VFY: replacing opcode 0x60 at 0x0003
03-12 14:57:44.872: D/dalvikvm(499): VFY: dead code 0x0005-0051 in Lcom/facebook/LoginActivity;.onCreate (Landroid/os/Bundle;)V
03-12 14:57:44.876: W/dalvikvm(499): VFY: unable to resolve static field 1413 (com_facebook_login_activity_progress_bar) in Lcom/facebook/android/R$id;
03-12 14:57:44.876: D/dalvikvm(499): VFY: replacing opcode 0x60 at 0x0008
03-12 14:57:44.876: D/dalvikvm(499): VFY: dead code 0x000a-0013 in Lcom/facebook/LoginActivity;.onPause()V
03-12 14:57:45.126: W/dalvikvm(499): VFY: unable to resolve static field 1440 (com_facebook_internet_permission_error_title) in Lcom/facebook/android/R$string;
03-12 14:57:45.126: D/dalvikvm(499): VFY: replacing opcode 0x60 at 0x0010
03-12 14:57:45.126: D/dalvikvm(499): VFY: dead code 0x0012-0026 in Lcom/facebook/AuthorizationClient;.checkInternetPermission()Z
03-12 14:57:45.986: W/dalvikvm(499): VFY: unable to resolve static field 1407 (com_facebook_close) in Lcom/facebook/android/R$drawable;
03-12 14:57:45.986: D/dalvikvm(499): VFY: replacing opcode 0x60 at 0x001d
03-12 14:57:46.006: D/dalvikvm(499): VFY: dead code 0x001f-002e in Lcom/facebook/widget/WebDialog;.createCrossImage()V
03-12 14:57:46.026: W/dalvikvm(499): VFY: unable to resolve static field 1441 (com_facebook_loading) in Lcom/facebook/android/R$string;
03-12 14:57:46.026: D/dalvikvm(499): VFY: replacing opcode 0x60 at 0x0024
03-12 14:57:46.036: D/dalvikvm(499): VFY: dead code 0x0026-006d in Lcom/facebook/widget/WebDialog;.onCreate (Landroid/os/Bundle;)V
03-12 14:57:46.070: D/AndroidRuntime(499): Shutting down VM
03-12 14:57:46.070: W/dalvikvm(499): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
03-12 14:57:46.243: E/AndroidRuntime(499): FATAL EXCEPTION: main
03-12 14:57:46.243: E/AndroidRuntime(499): java.lang.NoClassDefFoundError: com.facebook.android.R$string
03-12 14:57:46.243: E/AndroidRuntime(499): at com.facebook.widget.WebDialog.onCreate(WebDialog.java:188)
03-12 14:57:46.243: E/AndroidRuntime(499): at android.app.Dialog.dispatchOnCreate(Dialog.java:307)
03-12 14:57:46.243: E/AndroidRuntime(499): at android.app.Dialog.show(Dialog.java:225)
03-12 14:57:46.243: E/AndroidRuntime(499): at com.facebook.AuthorizationClient$WebViewAuthHandler.tryAuthorize(AuthorizationClient.java:461)
03-12 14:57:46.243: E/AndroidRuntime(499): at com.facebook.AuthorizationClient.tryCurrentHandler(AuthorizationClient.java:209)
03-12 14:57:46.243: E/AndroidRuntime(499): at com.facebook.AuthorizationClient.tryNextHandler(AuthorizationClient.java:188)
03-12 14:57:46.243: E/AndroidRuntime(499): at com.facebook.AuthorizationClient.authorize(AuthorizationClient.java:116)
03-12 14:57:46.243: E/AndroidRuntime(499): at com.facebook.AuthorizationClient.startOrContinueAuth(AuthorizationClient.java:97)
03-12 14:57:46.243: E/AndroidRuntime(499): at com.facebook.Session.tryLegacyAuth(Session.java:1096)
03-12 14:57:46.243: E/AndroidRuntime(499): at com.facebook.Session.authorize(Session.java:893)
03-12 14:57:46.243: E/AndroidRuntime(499): at com.facebook.Session.open(Session.java:957)
03-12 14:57:46.243: E/AndroidRuntime(499): at com.facebook.Session.openForPublish(Session.java:415)
03-12 14:57:46.243: E/AndroidRuntime(499): at com.facebook.android.Facebook.openSession(Facebook.java:319)
03-12 14:57:46.243: E/AndroidRuntime(499): at com.facebook.android.Facebook.authorize(Facebook.java:313)
03-12 14:57:46.243: E/AndroidRuntime(499): at com.facebook.android.Facebook.authorize(Facebook.java:149)
03-12 14:57:46.243: E/AndroidRuntime(499): at com.example.kumarfbapp.FBActivity.loginToFacebook(FBActivity.java:61)
03-12 14:57:46.243: E/AndroidRuntime(499): at com.example.kumarfbapp.FBActivity$1.onClick(FBActivity.java:40)
03-12 14:57:46.243: E/AndroidRuntime(499): at android.view.View.performClick(View.java:2408)
03-12 14:57:46.243: E/AndroidRuntime(499): at android.view.View$PerformClick.run(View.java:8816)
03-12 14:57:46.243: E/AndroidRuntime(499): at android.os.Handler.handleCallback(Handler.java:587)
03-12 14:57:46.243: E/AndroidRuntime(499): at android.os.Handler.dispatchMessage(Handler.java:92)
03-12 14:57:46.243: E/AndroidRuntime(499): at android.os.Looper.loop(Looper.java:123)
03-12 14:57:46.243: E/AndroidRuntime(499): at android.app.ActivityThread.main(ActivityThread.java:4627)
03-12 14:57:46.243: E/AndroidRuntime(499): at java.lang.reflect.Method.invokeNative(Native Method)
03-12 14:57:46.243: E/AndroidRuntime(499): at java.lang.reflect.Method.invoke(Method.java:521)
03-12 14:57:46.243: E/AndroidRuntime(499): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
03-12 14:57:46.243: E/AndroidRuntime(499): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
03-12 14:57:46.243: E/AndroidRuntime(499): at dalvik.system.NativeStart.main(Native Method)
03-12 14:57:52.052: I/Process(499): Sending signal. PID: 499 SIG: 9
03-12 15:02:48.486: W/com.facebook.Session(531): Should not pass a read permission (email) to a request for publish or manage authorization
03-12 15:02:48.506: W/dalvikvm(531): VFY: unable to resolve static field 1431 (com_facebook_login_activity_layout) in Lcom/facebook/android/R$layout;
03-12 15:02:48.506: D/dalvikvm(531): VFY: replacing opcode 0x60 at 0x0003
03-12 15:02:48.506: D/dalvikvm(531): VFY: dead code 0x0005-0051 in Lcom/facebook/LoginActivity;.onCreate (Landroid/os/Bundle;)V
03-12 15:02:48.506: W/dalvikvm(531): VFY: unable to resolve static field 1413 (com_facebook_login_activity_progress_bar) in Lcom/facebook/android/R$id;
03-12 15:02:48.506: D/dalvikvm(531): VFY: replacing opcode 0x60 at 0x0008
03-12 15:02:48.506: D/dalvikvm(531): VFY: dead code 0x000a-0013 in Lcom/facebook/LoginActivity;.onPause()V
03-12 15:02:48.596: W/dalvikvm(531): VFY: unable to resolve static field 1440 (com_facebook_internet_permission_error_title) in Lcom/facebook/android/R$string;
03-12 15:02:48.596: D/dalvikvm(531): VFY: replacing opcode 0x60 at 0x0010
03-12 15:02:48.606: D/dalvikvm(531): VFY: dead code 0x0012-0026 in Lcom/facebook/AuthorizationClient;.checkInternetPermission()Z
03-12 15:02:48.716: W/dalvikvm(531): VFY: unable to resolve static field 1407 (com_facebook_close) in Lcom/facebook/android/R$drawable;
03-12 15:02:48.716: D/dalvikvm(531): VFY: replacing opcode 0x60 at 0x001d
03-12 15:02:48.716: D/dalvikvm(531): VFY: dead code 0x001f-002e in Lcom/facebook/widget/WebDialog;.createCrossImage()V
03-12 15:02:48.726: W/dalvikvm(531): VFY: unable to resolve static field 1441 (com_facebook_loading) in Lcom/facebook/android/R$string;
03-12 15:02:48.726: D/dalvikvm(531): VFY: replacing opcode 0x60 at 0x0024
03-12 15:02:48.736: D/dalvikvm(531): VFY: dead code 0x0026-006d in Lcom/facebook/widget/WebDialog;.onCreate (Landroid/os/Bundle;)V
03-12 15:02:48.746: D/AndroidRuntime(531): Shutting down VM
03-12 15:02:48.746: W/dalvikvm(531): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
03-12 15:02:48.756: E/AndroidRuntime(531): FATAL EXCEPTION: main
03-12 15:02:48.756: E/AndroidRuntime(531): java.lang.NoClassDefFoundError: com.facebook.android.R$string
03-12 15:02:48.756: E/AndroidRuntime(531): at com.facebook.widget.WebDialog.onCreate(WebDialog.java:188)
03-12 15:02:48.756: E/AndroidRuntime(531): at android.app.Dialog.dispatchOnCreate(Dialog.java:307)
03-12 15:02:48.756: E/AndroidRuntime(531): at android.app.Dialog.show(Dialog.java:225)
03-12 15:02:48.756: E/AndroidRuntime(531): at com.facebook.AuthorizationClient$WebViewAuthHandler.tryAuthorize(AuthorizationClient.java:461)
03-12 15:02:48.756: E/AndroidRuntime(531): at com.facebook.AuthorizationClient.tryCurrentHandler(AuthorizationClient.java:209)
03-12 15:02:48.756: E/AndroidRuntime(531): at com.facebook.AuthorizationClient.tryNextHandler(AuthorizationClient.java:188)
03-12 15:02:48.756: E/AndroidRuntime(531): at com.facebook.AuthorizationClient.authorize(AuthorizationClient.java:116)
03-12 15:02:48.756: E/AndroidRuntime(531): at com.facebook.AuthorizationClient.startOrContinueAuth(AuthorizationClient.java:97)
03-12 15:02:48.756: E/AndroidRuntime(531): at com.facebook.Session.tryLegacyAuth(Session.java:1096)
03-12 15:02:48.756: E/AndroidRuntime(531): at com.facebook.Session.authorize(Session.java:893)
03-12 15:02:48.756: E/AndroidRuntime(531): at com.facebook.Session.open(Session.java:957)
03-12 15:02:48.756: E/AndroidRuntime(531): at com.facebook.Session.openForPublish(Session.java:415)
03-12 15:02:48.756: E/AndroidRuntime(531): at com.facebook.android.Facebook.openSession(Facebook.java:319)
03-12 15:02:48.756: E/AndroidRuntime(531): at com.facebook.android.Facebook.authorize(Facebook.java:313)
03-12 15:02:48.756: E/AndroidRuntime(531): at com.facebook.android.Facebook.authorize(Facebook.java:149)
03-12 15:02:48.756: E/AndroidRuntime(531): at com.example.kumarfbapp.FBActivity.loginToFacebook(FBActivity.java:62)
03-12 15:02:48.756: E/AndroidRuntime(531): at com.example.kumarfbapp.FBActivity$1.onClick(FBActivity.java:41)
03-12 15:02:48.756: E/AndroidRuntime(531): at android.view.View.performClick(View.java:2408)
03-12 15:02:48.756: E/AndroidRuntime(531): at android.view.View$PerformClick.run(View.java:8816)
03-12 15:02:48.756: E/AndroidRuntime(531): at android.os.Handler.handleCallback(Handler.java:587)
03-12 15:02:48.756: E/AndroidRuntime(531): at android.os.Handler.dispatchMessage(Handler.java:92)
03-12 15:02:48.756: E/AndroidRuntime(531): at android.os.Looper.loop(Looper.java:123)
03-12 15:02:48.756: E/AndroidRuntime(531): at android.app.ActivityThread.main(ActivityThread.java:4627)
03-12 15:02:48.756: E/AndroidRuntime(531): at java.lang.reflect.Method.invokeNative(Native Method)
03-12 15:02:48.756: E/AndroidRuntime(531): at java.lang.reflect.Method.invoke(Method.java:521)
03-12 15:02:48.756: E/AndroidRuntime(531): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
03-12 15:02:48.756: E/AndroidRuntime(531): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
03-12 15:02:48.756: E/AndroidRuntime(531): at dalvik.system.NativeStart.main(Native Method)
03-12 15:02:52.136: I/Process(531): Sending signal. PID: 531 SIG: 9
03-12 15:03:36.066: W/com.facebook.Session(561): Should not pass a read permission (email) to a request for publish or manage authorization
03-12 15:03:36.086: W/dalvikvm(561): VFY: unable to resolve static field 1431 (com_facebook_login_activity_layout) in Lcom/facebook/android/R$layout;
03-12 15:03:36.086: D/dalvikvm(561): VFY: replacing opcode 0x60 at 0x0003
03-12 15:03:36.086: D/dalvikvm(561): VFY: dead code 0x0005-0051 in Lcom/facebook/LoginActivity;.onCreate (Landroid/os/Bundle;)V
03-12 15:03:36.086: W/dalvikvm(561): VFY: unable to resolve static field 1413 (com_facebook_login_activity_progress_bar) in Lcom/facebook/android/R$id;
03-12 15:03:36.086: D/dalvikvm(561): VFY: replacing opcode 0x60 at 0x0008
03-12 15:03:36.086: D/dalvikvm(561): VFY: dead code 0x000a-0013 in Lcom/facebook/LoginActivity;.onPause()V
03-12 15:03:36.136: W/dalvikvm(561): VFY: unable to resolve static field 1440 (com_facebook_internet_permission_error_title) in Lcom/facebook/android/R$string;
03-12 15:03:36.136: D/dalvikvm(561): VFY: replacing opcode 0x60 at 0x0010
03-12 15:03:36.136: D/dalvikvm(561): VFY: dead code 0x0012-0026 in Lcom/facebook/AuthorizationClient;.checkInternetPermission()Z
03-12 15:03:36.226: W/dalvikvm(561): VFY: unable to resolve static field 1407 (com_facebook_close) in Lcom/facebook/android/R$drawable;
03-12 15:03:36.226: D/dalvikvm(561): VFY: replacing opcode 0x60 at 0x001d
03-12 15:03:36.226: D/dalvikvm(561): VFY: dead code 0x001f-002e in Lcom/facebook/widget/WebDialog;.createCrossImage()V
03-12 15:03:36.246: W/dalvikvm(561): VFY: unable to resolve static field 1441 (com_facebook_loading) in Lcom/facebook/android/R$string;
03-12 15:03:36.246: D/dalvikvm(561): VFY: replacing opcode 0x60 at 0x0024
03-12 15:03:36.246: D/dalvikvm(561): VFY: dead code 0x0026-006d in Lcom/facebook/widget/WebDialog;.onCreate (Landroid/os/Bundle;)V
03-12 15:03:36.256: D/AndroidRuntime(561): Shutting down VM
03-12 15:03:36.256: W/dalvikvm(561): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
03-12 15:03:36.266: E/AndroidRuntime(561): FATAL EXCEPTION: main
03-12 15:03:36.266: E/AndroidRuntime(561): java.lang.NoClassDefFoundError: com.facebook.android.R$string
03-12 15:03:36.266: E/AndroidRuntime(561): at com.facebook.widget.WebDialog.onCreate(WebDialog.java:188)
03-12 15:03:36.266: E/AndroidRuntime(561): at android.app.Dialog.dispatchOnCreate(Dialog.java:307)
03-12 15:03:36.266: E/AndroidRuntime(561): at android.app.Dialog.show(Dialog.java:225)
03-12 15:03:36.266: E/AndroidRuntime(561): at com.facebook.AuthorizationClient$WebViewAuthHandler.tryAuthorize(AuthorizationClient.java:461)
03-12 15:03:36.266: E/AndroidRuntime(561): at com.facebook.AuthorizationClient.tryCurrentHandler(AuthorizationClient.java:209)
03-12 15:03:36.266: E/AndroidRuntime(561): at com.facebook.AuthorizationClient.tryNextHandler(AuthorizationClient.java:188)
03-12 15:03:36.266: E/AndroidRuntime(561): at com.facebook.AuthorizationClient.authorize(AuthorizationClient.java:116)
03-12 15:03:36.266: E/AndroidRuntime(561): at com.facebook.AuthorizationClient.startOrContinueAuth(AuthorizationClient.java:97)
03-12 15:03:36.266: E/AndroidRuntime(561): at com.facebook.Session.tryLegacyAuth(Session.java:1096)
03-12 15:03:36.266: E/AndroidRuntime(561): at com.facebook.Session.authorize(Session.java:893)
03-12 15:03:36.266: E/AndroidRuntime(561): at com.facebook.Session.open(Session.java:957)
03-12 15:03:36.266: E/AndroidRuntime(561): at com.facebook.Session.openForPublish(Session.java:415)
03-12 15:03:36.266: E/AndroidRuntime(561): at com.facebook.android.Facebook.openSession(Facebook.java:319)
03-12 15:03:36.266: E/AndroidRuntime(561): at com.facebook.android.Facebook.authorize(Facebook.java:313)
03-12 15:03:36.266: E/AndroidRuntime(561): at com.facebook.android.Facebook.authorize(Facebook.java:149)
03-12 15:03:36.266: E/AndroidRuntime(561): at com.example.kumarfbapp.FBActivity.loginToFacebook(FBActivity.java:64)
03-12 15:03:36.266: E/AndroidRuntime(561): at com.example.kumarfbapp.FBActivity$1.onClick(FBActivity.java:43)
03-12 15:03:36.266: E/AndroidRuntime(561): at android.view.View.performClick(View.java:2408)
03-12 15:03:36.266: E/AndroidRuntime(561): at android.view.View$PerformClick.run(View.java:8816)
03-12 15:03:36.266: E/AndroidRuntime(561): at android.os.Handler.handleCallback(Handler.java:587)
03-12 15:03:36.266: E/AndroidRuntime(561): at android.os.Handler.dispatchMessage(Handler.java:92)
03-12 15:03:36.266: E/AndroidRuntime(561): at android.os.Looper.loop(Looper.java:123)
03-12 15:03:36.266: E/AndroidRuntime(561): at android.app.ActivityThread.main(ActivityThread.java:4627)
03-12 15:03:36.266: E/AndroidRuntime(561): at java.lang.reflect.Method.invokeNative(Native Method)
03-12 15:03:36.266: E/AndroidRuntime(561): at java.lang.reflect.Method.invoke(Method.java:521)
03-12 15:03:36.266: E/AndroidRuntime(561): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
03-12 15:03:36.266: E/AndroidRuntime(561): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
03-12 15:03:36.266: E/AndroidRuntime(561): at dalvik.system.NativeStart.main(Native Method)
0
3-12 15:03:38.336:I /處理(561):發送信號。 PID:561 SIG:9
請幫幫我。
還請張貼'logcat'信息。 – 2013-03-12 09:46:43
@MayuMayooresan增加了logcat。 – 2013-03-12 10:11:47
你看到有一個可讀的錯誤mesg'不應該通過讀取權限(電子郵件)發佈或管理授權請求 – 2013-03-12 10:19:21