2017-04-25 6 views
-3

私はAndroidの権限リストをまとめてグループ化する方法を探しています。 は、これまでのところ私はこのLink between Android Permissions and Permission Groupsリンクをたどってきたが、それはここではアイテムに関連する情報を提供https://developer.android.com/reference/android/Manifest.permission_group.htmlグループアクセス許可に基づいてAndroid権限リストをまとめてください

しかし、そのようなBluetoothの、設定、パッケージ権限などの項目がhttps://developer.android.com/reference/android/Manifest.permission.htmlに記載されていません。私は

答えて

-1
public void doCheckPermission() { 
     // The request code used in ActivityCompat.requestPermissions() 
     // and returned in the Activity's onRequestPermissionsResult() 
     int PERMISSION_ALL = 1; 
     String[] PERMISSIONS = {Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.ACCESS_NETWORK_STATE 
     }; 

     if (!hasPermissions(NavigationDrawerActivity.this, PERMISSIONS)) { 
      ActivityCompat.requestPermissions(this, PERMISSIONS, PERMISSION_ALL); 
     } 
    } 

    public static boolean hasPermissions(Context context, String... permissions) { 
     if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && context != null && permissions != null) { 
      for (String permission : permissions) { 
       if (ActivityCompat.checkSelfPermission(context, permission) != PackageManager.PERMISSION_GRANTED) { 
        return false; 
       } 
      } 
     } 
     return true; 
    } 

    @Override 
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { 
     super.onRequestPermissionsResult(requestCode, permissions, grantResults); 
     switch (requestCode) { 
      case 1: { 
       if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && NavigationDrawerActivity.this != null && permissions != null) { 
        for (String permission : permissions) { 
         if (ActivityCompat.checkSelfPermission(NavigationDrawerActivity.this, permission) == PackageManager.PERMISSION_GRANTED) { 

          // Toast.makeText(this, "Please give all permissions", Toast.LENGTH_SHORT).show(); 
          Log.e("TAG", "onRequestPermissionsResult: given"); 
         } 
        } 
       } 
      } 
     } 
    } 

Bluetooth(BLUETOOTH, BLUETOOTH_ADMIN, BLUETOOTH_PRIVILEGED)などのような特徴に基づいて、すべての権限を分類したい

は、これが役立つことを願っています!

1

は私が可能になるだろうされていないなど

ブルートゥース(BLUETOOTH、BLUETOOTH_ADMIN、BLUETOOTH_PRIVILEGED)のような特徴に基づいて、すべての権限を分類したいです。アプリケーションは独自の権限を定義することができ、その権限は特定の権限グループに属する必要はありません。

など、許可についての情報を得るには、call getPermissionInfo() on a PackageManagerにようこそ。ただし、グループを持たないアクセス許可に対処する必要があります。

+0

私は同意すると、アプリケーションは独自の権限を持つことができます。私はデフォルトのものを分類することを望んでいます。 getPermissionsInfoを呼び出すための呼び出しがあり、すべてが期待どおりに動作しています。https://gist.github.com/ashish29agre/93ed5f13f916048492e9aae4d8121ef0 – sector11