FragmentActivity.onRequestPermissionsResult

AppCompatActivityの場合は、その基底クラスFragmentActivityのメソッドonRequestPermissionsResultで、パーミッションリクエスト許可ダイアログの許可または拒否が選択された時の処理を書く。

FragmentActivity  |  Android Developers
[Android]複数の Runtime Permission 設定を GPSで実行する

複数のパーミッションを許可する場合を考える。
AndroidManifest.xmlで、

3つのパーミッション許可が必要。
activity_main.xmlで、

また、ConstraintLayoutとButton。
MainActivity.javaで、

未許可のパーミッションはリストに入れてリクエスト。
すべてが許可された場合、それ用のメッセージを表示。

すべて未許可
すべて未許可

すべて未許可。

許可
許可

許可。

許可しない
許可しない

許可しない。

許可
許可

許可とする。

GRANTED
GRANTED

GRANTED.。

DENIED
DENIED

DENIED。

GRANTED
GRANTED

GRANTED。
もう1回Button1でリクエストすると、

残ってるWRITE_EXTERNAL_STORAGEのリクエスト
残ってるWRITE_EXTERNAL_STORAGEのリクエス

残ってるWRITE_EXTERNAL_STORAGEのリクエストだけ。
ACCESS_FINE_LOCATIONと

CAMERA
CAMERA

CAMERAは終わってる。
WRITE_EXTERNAL_STORAGEも許可したら、

GRANTED
GRANTED

GRANTED。

すべてが許可された
すべてが許可された

すべてが許可された。

次にButton1を押してもすべて許可
次にButton1を押してもすべて許可

次にButton1を押してもすべて許可。

確かに全部許可
確かに全部許可

確かに全部許可。

Sample/android/FragmentActivity/onRequestPermissionsResult/FragmentActivity_ at master · bg1bgst333/Sample · GitHub