Android 6.0から、Runtime Permissionの仕組みが導入された。
アプリの権限をリクエストする | Android デベロッパー | Android Developers
ContextCompat.checkSelfPermissionで、指定の権限が許可されているかをチェックする。
ContextCompat | Android Developers
[Android] GPS パーミッションを考慮して実装する
久しぶり過ぎて、
![ここにつくろう](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20210211/20210211154742.png)
ここにつくろう。
![newで](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20210211/20210211154832.png)
newで。
![Empty](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20210211/20210211154911.png)
Empty。
![こんな感じ](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20210211/20210211154955.png)
こんな感じ。
AndroidManifest.xmlで、
パーミッションにACCESS_FINE_LOCATIONを追加。
strings.xmlで、
Button1を追加。
activity_main.xmlで、
デフォルトは違うんだけど、LinearLayoutとButtonを配置。
MainActivity.javaで、
Button1を押したら、ACCESS_FINE_LOCATIONをcheckSelfPermissionする。
![6.0以上で](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20210211/20210211160543.png)
6.0以上で、
![設定](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20210211/20210211155702.png)
設定からアプリ一覧で、
![ContextCompat_](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20210211/20210211155849.png)
ContextCompat_アプリを見つけたら押して、
![許可のところで権限が付与されていない](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20210211/20210211155947.png)
許可のところで権限が付与されていない。
![今のところ、位置情報はOFF。](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20210211/20210211160046.png)
今のところ、位置情報はOFF。
アプリを起動すると、
![Button1があるだけ](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20210211/20210211160132.png)
Button1があるだけ。
押すと、
![許可されていない](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20210211/20210211160213.png)
許可されていないと出る。
![ONにすると](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20210211/20210211160320.png)
ONにすると、
![許可と出る](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20210211/20210211160426.png)
許可と出る。