質問: Googleストアからインストールした初回起動でアプリの動作がおかしいので調べてみると、その場合に限って通常起こらない障害が複数発生していることが分かりました。 その中でも、一番困っているのは、requestPermissionを呼んだときコールバックであるonRequestPermissionsResultに戻ってこないという障害です。 以下のリンクでREQUEST_ID_MULTIPLE_PERMISSIONSで使っているサンプルコードがありますが、同様の使い方をしています。 http://stackoverflow.com/questions/34342816/android-6-0-multiple-permissions 障害が発生するのはGoogleストアからインストールした初回起動のみで 次の場合には同じアプリを実行しても障害が発生しないようです。 (1)AndroidStudioからデバッグモードで起動して実機で動かす場合 (2)実機にadbコマンドでapkファイルをインストールした場合 (3)Googleストアからインストールした2回目以降の起動 (4)Googleストアからアップデートとしてインストールした場合。 この件についてご存じの方がありましたら情報をお願いします。よろしくお願いします。
回答: 調べてみると、トラッキングのためのBroadCastReceiverを止めると、コールバックであるonRequestPermissionsResultに戻ってこないという障害が起きないことが分かりました。 優先順位の関係で、BroadCastReceiverが動くとコールバックに制御が来ないという不具合の様です。 対処法として、BroadCastReceiverからグローバル変数を参照し、requestPermissionsが終わるまではBroadCastReceiverの中のパケット処理が動作しないようにしたところ不具合を回避することができました。