2013-09-04 11 views
6

facebookに接続して友だちリストを取得できます。すべての接続はOKです。 Facebookのデータ(設定 - >アプリケーション)と私のアプリケーションを削除すると、ログインに問題が発生します。 [SDK 3.5]Android - Facebookログインにより、初めて初めてのonResumeエラーが発生する

  1. 起動私のアプリ
  2. Facebookは、ユーザー名とパスワードを要求Facebookの接続を行い、待って彼らに
  3. を入力して少し
  4. これは、基本的なユーザーのために要求するパーミッション画面を示しています情報とエラーが発生しました:「アプリケーションが予期せず動作しなくなりました。もう一度やり直してください(強制終了)」

強制終了をクリックすると、同じエラーrは何度も何度も突然発生します(許可画面はまだ残っています)。私は十分に速くできる場合、私は強制終了をクリックして許可を許可し、すべてがうまく行き、私の友人を見ることができます。だから、この "強制終了"エラーは何も意味がありません。ログには、致命的な例外メッセージが3〜4つあります。なぜなら、FORCE CLOSEをクリックするたびにエラーが再び発生するからです。 このエラーは、電話機(SE Xperia Arc S、2.3.3)でアプリケーションを試すときに発生します。しかし、私がエミュレータを試してみると、エラーは発生しません。問題なく動作します。最初の接続の後

09-04 18:09:47.916 E/AndroidRuntime(29511): FATAL EXCEPTION: main 
09-04 18:09:47.916 E/AndroidRuntime(29511): java.lang.RuntimeException: Unable to resume activity {com.ilanharitasi/com.facebook.LoginActivity}: java.lang.NullPointerException 
09-04 18:09:47.916 E/AndroidRuntime(29511): Caused by: java.lang.NullPointerException 
09-04 18:09:47.916 E/AndroidRuntime(29511):  ... 12 more 
09-04 18:09:51.526 E/AndroidRuntime(29538): FATAL EXCEPTION: main 
09-04 18:09:51.526 E/AndroidRuntime(29538): java.lang.RuntimeException: Unable to resume activity {com.ilanharitasi/com.facebook.LoginActivity}: java.lang.NullPointerException 
09-04 18:09:51.526 E/AndroidRuntime(29538): Caused by: java.lang.NullPointerException 
09-04 18:09:51.526 E/AndroidRuntime(29538):  ... 12 more 
09-04 18:09:53.786 E/AndroidRuntime(29547): FATAL EXCEPTION: main 
09-04 18:09:53.786 E/AndroidRuntime(29547): java.lang.RuntimeException: Unable to resume activity {com.ilanharitasi/com.facebook.LoginActivity}: java.lang.NullPointerException 
09-04 18:09:53.786 E/AndroidRuntime(29547): Caused by: java.lang.NullPointerException 
09-04 18:09:53.786 E/AndroidRuntime(29547):  ... 12 more 
09-04 18:09:55.516 E/AndroidRuntime(29557): FATAL EXCEPTION: main 
09-04 18:09:55.516 E/AndroidRuntime(29557): java.lang.RuntimeException: Unable to resume activity {com.ilanharitasi/com.facebook.LoginActivity}: java.lang.NullPointerException 
09-04 18:09:55.516 E/AndroidRuntime(29557): Caused by: java.lang.NullPointerException 
09-04 18:09:55.516 E/AndroidRuntime(29557):  ... 12 more 
09-04 18:09:57.776 E/AndroidRuntime(29564): FATAL EXCEPTION: main 
09-04 18:09:57.776 E/AndroidRuntime(29564): java.lang.RuntimeException: Unable to resume activity {com.ilanharitasi/com.facebook.LoginActivity}: java.lang.NullPointerException 
09-04 18:09:57.776 E/AndroidRuntime(29564): Caused by: java.lang.NullPointerException 
09-04 18:09:57.776 E/AndroidRuntime(29564):  ... 12 more 
09-04 18:09:59.186 E/dalvikvm(29571): Could not find class 'dalvik.system.BaseDexClassLoader', referenced from method com.facebook.common.dextricks.SystemClassLoaderAdder.a 
09-04 18:09:59.586 E/dalvik-internals(29571): Failed to look up ladDumpProfiles 
09-04 18:09:59.586 E/dalvik-internals(29571): Failed to look up ladResetProfiles 
09-04 18:09:59.586 E/dalvik-internals(29571): Failed to look up ladPrintHeaderInfo 
09-04 18:09:59.936 E/AndroidRuntime(29578): FATAL EXCEPTION: main 
09-04 18:09:59.936 E/AndroidRuntime(29578): java.lang.RuntimeException: Unable to resume activity {com.ilanharitasi/com.facebook.LoginActivity}: java.lang.NullPointerException 
09-04 18:09:59.936 E/AndroidRuntime(29578): Caused by: java.lang.NullPointerException 
09-04 18:09:59.936 E/AndroidRuntime(29578):  ... 12 more 
09-04 18:10:02.006 E/AndroidRuntime(29585): FATAL EXCEPTION: main 
09-04 18:10:02.006 E/AndroidRuntime(29585): java.lang.RuntimeException: Unable to resume activity {com.ilanharitasi/com.facebook.LoginActivity}: java.lang.NullPointerException 
09-04 18:10:02.006 E/AndroidRuntime(29585): Caused by: java.lang.NullPointerException 
09-04 18:10:02.006 E/AndroidRuntime(29585):  ... 12 more 
09-04 18:10:04.566 E/ONRESUME(29605): Onresume worked 
09-04 18:10:04.636 E/STATEM (29605): OPENING 
09-04 18:10:05.186 E/ONRESUME(29605): Onresume worked 

(エミュレータは2.3.3と4.2です)、私はエラーなしで私の友人を見つけることができます。それだけでも、私がログ出力からnullであるか理解できなかった

@Override 
    public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    uiHelper = new UiLifecycleHelper(this, callback); 
    uiHelper.onCreate(savedInstanceState); 

    setContentView(R.layout.activity_fb_findfriends); 
    LinearLayout v = (LinearLayout) findViewById(R.id.fb_app_users); 
    openSession(v); 

    } 

public void openSession(View v){ 
     // start Facebook Login 
     Session.openActiveSession(this, true, callback); 

    } 

@Override 
    protected void onResume() { 
     super.onResume(); 
     uiHelper.onResume(); 
     Log.e("ONRESUME", "Onresume çalıştı"); 
    } 

private void requestMyAppFacebookFriends(Session session) { 
     Request friendsRequest = createRequest(session); 
     friendsRequest.setCallback(new Request.Callback() { 

      @Override 
      public void onCompleted(Response response) { 

       List<GraphUser> friends = getResults(response); 
       //Display Friends 
      } 
     }); 
    friendsRequest.executeAsync(); 
} 

私が初めてFacebookを利用して接続し、それは私のユーザー名とパスワードを要求する([ログイン]をクリック)した直後に発生します。

UPDATE! エラーが発生した行が見つかりました。 それは135

void startOrContinueAuth(AuthorizationRequest request) { 
     if (appEventsLogger == null || appEventsLogger.getApplicationId() != request.getApplicationId()) { 
      Log.e("HATA!", "BOOM"); 
      appEventsLogger = AppEventsLogger.newLogger(context, request.getApplicationId()); 
     } 

com.facebook.AuthorizationClient.javaラインの内側であり、このstartOrContinueAuth方法はUPDATE 2

@Override 
public void onResume() { 
    super.onResume(); 

    // If the calling package is null, this generally means that the callee was started 
    // with a launchMode of singleInstance. Unfortunately, Android does not allow a result 
    // to be set when the callee is a singleInstance, so we log an error and return. 
    if (callingPackage == null) { 
     Log.e(TAG, "Aheyy"+NULL_CALLING_PKG_ERROR_MSG); 
     finish(); 
     return; 
    } 

    authorizationClient.startOrContinueAuth(request); 
} 
     if (getInProgress()) { 
      continueAuth(); 
     } else { 
      authorize(request); 
     } 
    } 

com.Facebook.LoginActivity

に解雇されました!

  • 私は非常に混乱しました。私はアプリケーションを非常に基本的な openActiveSession()メソッドに単純化しました。クラッシュ
  • Facebook、FriendPickerのサンプルアプリケーションを試してみましたが、同じログエラー出力でも クラッシュしました。
  • は、エミュレータ上で試みたが、同じエラーが(onResume何とか何とか...にできない ) は、Facebookのサンプルアプリケーションで同じエラーを取得発生し、それが動作しますが、 認証画面が現れたときに、私は、画面を回転させたときに(キャンセル-許可します)不思議です
+1

Activity/Fragmentコードを投稿できますか? – Emmanuel

+0

がコードの一部を追加した場合、状態の変更後にrequestMyAppFacebookFriends(セッションセッション)が実行されます。 –

+0

station.isOpened()をチェックした後、callback()内からrequestMyAppFacebookFriends(セッションセッション)を呼び出していますか? – Emmanuel

答えて

1

私はあなたのアプリに問題があるとは思わない。人々はこのバグを報告しており、私はちょうど同様の質問hereに答えました。基本的に、Facebookは昨日、彼らのAuthorizationClientにonResume NPEクラッシュを修正した彼らのSDKの新しいバージョンをリリースした。アップグレードによって問題が解決されるかどうかを確認してください。

0

は、変更ログhttps://developers.facebook.com/docs/android/change-log-3.x/によると、Facebookのバージョン3.5.1で
は、ログイン認証とアプリイベントに関する多くの問題を修正し、ので、多分それはhttps://github.com/facebook/facebook-android-sdkからダウンロードすることができ、最新の1つのバージョンで解決されています。 私はそれがあなたの問題を解決できることを願っています:)

0

基本的にこの問題は、呼び出し元のアクティビティが生きていないか破棄されていない場合に発生します。 androidでは、メソッドonActivityResult()はログイン後に呼び出されます。アクティビティはモバイルによって強制的に破棄されます(開発者オプション設定でアクティビティオプションを有効にしないでください)。一度、開発者のオプション設定で「アクティビティを保持しない」が有効または無効になっていることを確認してください。

0

マニフェストで、lginアクティビティがポートレイトであることを確認してください。それは肖像画ではない場合、活動を失うことに問題があります。それは非常に不自由です...:|

関連する問題