2013-04-05 52 views
1

我在MainActivity可以運行使用Android SDK 3.0的登錄代碼會話..的Facebook的Android SDK 3.0登錄另一個活動崩潰

但我移動到新的Activtiy FB.JAVA.can't運行。點擊按鈕崩潰..

plase如何解決:

MAinActivity.JAVA代碼

public void fbautotest(View v){ 

fb myffb=new fb(); 
myffb.facebookLogin();} 

FB.JAVAç頌

public class fb extends Activity{ 

private static final List<String> PERMISSIONS = Arrays.asList("publish_actions","user_photos"); 
private PendingAction pendingAction = PendingAction.NONE; 
private enum PendingAction { 
    NONE, POST_PHOTO, POST_STATUS_UPDATE 
} 

private StatusCallback callback; 
//private Activity mContext; 
private Activity mContext; 


public void facebookLogin() 
{ 


    Session.openActiveSession(mContext, true, new Session.StatusCallback() { 

     // callback when session changes state 

     @Override 
     public void call(Session session, SessionState state, Exception exception) { 

      if (session.isOpened()) { 
       Request.executeMeRequestAsync(session, new Request.GraphUserCallback() { 

         // callback after Graph API response with user object 


        @Override 
        public void onCompleted(GraphUser user, 
          Response response) { 



        } 
        }); 

      } 
     } 
     }); 

} 
    } 

錯誤代碼

04-05 06:50:16.246: W/dalvikvm(904): threadid=1: thread exiting with uncaught exception (group=0x40a13300) 
04-05 06:50:16.326: E/AndroidRuntime(904): FATAL EXCEPTION: main 
04-05 06:50:16.326: E/AndroidRuntime(904): java.lang.IllegalStateException: Could not execute method of the activity 
04-05 06:50:16.326: E/AndroidRuntime(904): at android.view.View$1.onClick(View.java:3591) 
04-05 06:50:16.326: E/AndroidRuntime(904): at android.view.View.performClick(View.java:4084) 
04-05 06:50:16.326: E/AndroidRuntime(904): at android.view.View$PerformClick.run(View.java:16966) 
04-05 06:50:16.326: E/AndroidRuntime(904): at android.os.Handler.handleCallback(Handler.java:615) 
04-05 06:50:16.326: E/AndroidRuntime(904): at android.os.Handler.dispatchMessage(Handler.java:92) 
04-05 06:50:16.326: E/AndroidRuntime(904): at android.os.Looper.loop(Looper.java:137) 
04-05 06:50:16.326: E/AndroidRuntime(904): at android.app.ActivityThread.main(ActivityThread.java:4745) 
04-05 06:50:16.326: E/AndroidRuntime(904): at java.lang.reflect.Method.invokeNative(Native Method) 
04-05 06:50:16.326: E/AndroidRuntime(904): at java.lang.reflect.Method.invoke(Method.java:511) 
04-05 06:50:16.326: E/AndroidRuntime(904): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
04-05 06:50:16.326: E/AndroidRuntime(904): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
04-05 06:50:16.326: E/AndroidRuntime(904): at dalvik.system.NativeStart.main(Native Method) 
04-05 06:50:16.326: E/AndroidRuntime(904): Caused by: java.lang.reflect.InvocationTargetException 
04-05 06:50:16.326: E/AndroidRuntime(904): at java.lang.reflect.Method.invokeNative(Native Method) 
04-05 06:50:16.326: E/AndroidRuntime(904): at java.lang.reflect.Method.invoke(Method.java:511) 
04-05 06:50:16.326: E/AndroidRuntime(904): at android.view.View$1.onClick(View.java:3586) 
04-05 06:50:16.326: E/AndroidRuntime(904): ... 11 more 
04-05 06:50:16.326: E/AndroidRuntime(904): Caused by: java.lang.NullPointerException: Argument 'applicationId' cannot be null 
04-05 06:50:16.326: E/AndroidRuntime(904): at com.facebook.internal.Validate.notNull(Validate.java:29) 
04-05 06:50:16.326: E/AndroidRuntime(904): at com.facebook.Session.<init>(Session.java:224) 
04-05 06:50:16.326: E/AndroidRuntime(904): at com.facebook.Session.<init>(Session.java:213) 
04-05 06:50:16.326: E/AndroidRuntime(904): at com.facebook.Session$Builder.build(Session.java:1454) 
04-05 06:50:16.326: E/AndroidRuntime(904): at com.facebook.Session.openActiveSession(Session.java:863) 
04-05 06:50:16.326: E/AndroidRuntime(904): at com.facebook.Session.openActiveSession(Session.java:805) 
04-05 06:50:16.326: E/AndroidRuntime(904): at com.example.mk2weibo.fb.facebookLogin(fb.java:45) 
04-05 06:50:16.326: E/AndroidRuntime(904): at com.example.mk2weibo.MainActivity.fbautotest(MainActivity.java:410) 
04-05 06:50:16.326: E/AndroidRuntime(904): ... 14 more 
+0

請參閱這些http://stackoverflow.com/questions/11365827/android-execute-method -from-another-activity – 2013-04-05 07:23:57

回答

0

閱讀堆棧跟蹤:

4-05 06:50:16.326: E/AndroidRuntime(904): Caused by: java.lang.NullPointerException: Argument 'applicationId' cannot be null 
+0

我輸入了applicationid到string.mxl ..如果運行mainactivity .is沒問題.... – user2247627 2013-04-05 07:45:22

+0

所以你說你的應用程序因NullPointerException而崩潰不是問題嗎?那麼,如果這不是問題,請問這裏有什麼意義? – 2013-04-05 07:49:32

+0

如果我將Facebook登錄代碼移動到FB.java .click登錄按鈕會崩潰... – user2247627 2013-04-05 08:04:43