ContextCompat.checkSelfPermission

Android 6.0から、Runtime Permissionの仕組みが導入された。

アプリの権限をリクエストする  |  Android デベロッパー  |  Android Developers

ContextCompat.checkSelfPermissionで、指定の権限が許可されているかをチェックする。

ContextCompat  |  Android Developers
[Android] GPS パーミッションを考慮して実装する

久しぶり過ぎて、

ここにつくろう
ここにつくろう

ここにつくろう。

newで
newで

newで。

Empty
Empty

Empty。

こんな感じ
こんな感じ

こんな感じ。
AndroidManifest.xmlで、

パーミッションACCESS_FINE_LOCATIONを追加。

strings.xmlで、

Button1を追加。
activity_main.xmlで、

デフォルトは違うんだけど、LinearLayoutとButtonを配置。
MainActivity.javaで、

Button1を押したら、ACCESS_FINE_LOCATIONをcheckSelfPermissionする。

6.0以上で
6.0以上で

6.0以上で、

設定
設定

設定からアプリ一覧で、

ContextCompat_
ContextCompat_

ContextCompat_アプリを見つけたら押して、

許可のところで権限が付与されていない
許可のところで権限が付与されていない

許可のところで権限が付与されていない。

今のところ、位置情報はOFF。
今のところ、位置情報はOFF。

今のところ、位置情報はOFF。
アプリを起動すると、

Button1があるだけ
Button1があるだけ

Button1があるだけ。
押すと、

許可されていない
許可されていない

許可されていないと出る。

ONにすると
ONにすると

ONにすると、

許可と出る
許可と出る

許可と出る。

Sample/android/ContextCompat/checkSelfPermission/ContextCompat_ at master · bg1bgst333/Sample · GitHub