1

私のアプリには Facebook との統合がなければ機能がありません。そのため、私のアプリが onCreate で最初に行うことは、Facebook にログインし、ユーザーのニュース フィードを取得してアプリにロードするリスナーを提供することです。ただし、Kindle Fire エミュレーターでは、SDK からの承認呼び出しを使用して、アプリで Facebook のログイン ダイアログを開くことさえできません。

このログインとアプリの残りの部分は、SDK マネージャーからインストールした公式の Kindle Fire エミュレーターを除いて、いくつかのテスト デバイスと、作成したすべての AVD エミュレーターで問題なく動作します。残念ながら、私は Kindle Fire にアクセスできないので、実際のデバイスでテストすることはできません。

問題を切り分けるために、コードを一時的に変更して、コールバック リスナーでまったく何もしないようにしました。onDataLoaded() 実装用に空の void メソッドを残しただけです。onCreate では、次のように呼び出しています。

        m_fbHelper.authorize(new NFDataLoadedListener() {

        public void onDataLoaded() {
            // TODO Auto-generated method stub

        }
    }, this);

FbHelper クラスの定義は次のとおりです。

public void authorize(NFDataLoadedListener dataLoadedListener, Home homeActivity){
        m_facebook.authorize(homeActivity, s_permissions, new  FacebookDataRetrievalListener(dataLoadedListener));
}

アクティビティが作成され、この呼び出しが行われると、「読み込み中」という通知ボックスが表示されます。これは通常、ログイン時に発生します。その後、アプリがクラッシュし、エミュレーターがホーム画面に戻ります。

ログには次のように書かれています。

08-15 01:40:23.338: D/Zygote(32): プロセス 414 がシグナルによって終了しました (4)

08-15 01:40:23.342: I/ActivityManager(61): プロセス com.mattgmg.socialadvancedpro (pid 414) が停止しました。

08-15 01:40:23.366: E/InputDispatcher(61): チャネル '405ea458

com.mattgmg.socialadvancedpro/com.mattgmg.socialadvancedpro.Home (サーバー)' ~ 消費者が入力チャネルを閉じたか、エラーが発生しました。イベント=0x8

08-15 01:40:23.366: E/InputDispatcher(61): チャネル '405ea458 com.mattgmg.socialadvancedpro/com.mattgmg.socialadvancedpro.Home (サーバー)' ~ チャネルは回復不能に壊れており、破棄されます! 08-15 01:40:23.392: I/WindowManager(61): WIN DEATH: ウィンドウ {4061da60 com.mattgmg.socialadvancedpro/com.mattgmg.socialadvancedpro.Home 一時停止 = false}

08-15 01:40:23.422: I/WindowManager(61): WIN DEATH: ウィンドウ {405ea458 com.mattgmg.socialadvancedpro/com.mattgmg.socialadvancedpro.Home 一時停止 = false}

08-15 01:40:23.482: I/WindowManager(61): WIN DEATH: ウィンドウ {40636a48 com.mattgmg.socialadvancedpro/com.mattgmg.socialadvancedpro.Home 一時停止 = false}

08-15 01:40:23.512: E/InputDispatcher(61): 不明な入力チャネルのスプリアス受信コールバックを受信しました。fd=175、イベント=0x8

08-15 01:40:23.512: E/InputDispatcher(61): 不明な入力チャネルのスプリアス受信コールバックを受信しました。fd=178、イベント=0x8

08-15 01:40:23.863: I/LAB126(119): StatusBarService が意図を聞きます。アクション: com.lab126.intent.TOP_WINDOW_CHANGED

スタック トレースがないため、Facebook SDK がログイン ダイアログを表示できなかった理由がわかりません。他の SO 投稿では、これらのログ メッセージはメモリ リークを示していると書かれていますが、Facebook にログインする以外にアプリで何もしていないため、メモリ リークである場合は SDK の問題である必要があります。

4

0 に答える 0