LoginSignup
19
19

More than 5 years have passed since last update.

targetSDKが23以下のアプリはPermissionChekerが使える

Last updated at Posted at 2015-10-08

Android M になると、ユーザーが permission(protectionLevel=dangerous)を任意のタイミングで操作できるようになるのはご存知かと思います。アプリインストール時は、以下のようになります。

  • targetSDK を API22 以前に指定 -> dangerous な permission が デフォルト ON でインストールされる
  • targetSDK を API23 に指定 -> dangerous な permission が デフォルト OFF でインストールされる

このように、targetSDK を API23 に指定する場合は、dangerous な permission が OFF になってしまうため、必然的に permission のチェックが必要になってくることになります。これを嫌って、targetSDK を API22 以前のものに指定する開発者もまだいらっしゃるかと思いますが、その場合、Context.checkSelfPermission がうまく動かないようです。

https://code.google.com/p/android-developer-preview/issues/detail?id=2773
https://code.google.com/p/android-developer-preview/issues/detail?id=2824

ということで、targetSDK を API22 以前のままビルドするアプリを 、Android M に取り急ぎ対応させたい場合(compileSDK を API23 にするなど)は、PermissionChecker を使いましょう。


2015/10/15 追記

SMS の permission(READ_SMS など)は、targetSDK を API23 にしないと、状態が正しく取得できないです。仕様かどうかはソースを調べてないのでわかりません。

19
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
19