的Facebook的Android SDK 3.0登录另一个活动崩溃

问题描述:

我在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://*.com/questions/11365827/android-execute-method -from-another-activity – 2013-04-05 07:23:57

阅读堆栈跟踪:

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