- int p = getPackageManager().checkPermission(Manifest.permission.READ_PHONE_STATE, getPackageName());
- if(p == PackageManager.PERMISSION_GRANTED) {
- // パーミッションあり
- }
- if(p == PackageManager.PERMISSION_DENIED) {
- // パーミッションなし
- }
パッケージ名を指定すればいいので、他のアプリもチェックできます。
例えば、インストールされているアプリの中で READ_PHONE_STATE のパーミッションがあるアプリの一覧を出すには次のようにします。
- public class MainActivity extends ListActivity {
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- List<String> list = new ArrayList<String>();
- PackageManager manager = getPackageManager();
- List<PackageInfo> packages = manager.getInstalledPackages(0);
- for (PackageInfo pkg : packages) {
- int p = getPackageManager().checkPermission(Manifest.permission.READ_PHONE_STATE, pkg.packageName);
- if(p == PackageManager.PERMISSION_GRANTED) {
- list.add(pkg.packageName);
- }
- }
- ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list);
- setListAdapter(adapter);
- }
- }
0 件のコメント:
コメントを投稿