我想以分组方式列出设备上安装的每个应用所采用的权限。
答案 0 :(得分:0)
您可以使用PackageManager检索应用程序的权限。请参阅:list of apps permissions
答案 1 :(得分:0)
请看这个,我希望这会对你有帮助。
private static final int REQUEST_PERMISSIONS = 10;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (Build.VERSION.SDK_INT >=23)
{
getPermission();
}
else
{
initView();
}
}
private void initView()
{
setContentView(R.layout.activity_main);
...
..
}
@TargetApi(Build.VERSION_CODES.M)
private void getPermission()
{
if (ContextCompat.checkSelfPermission(StartActivity.this, Manifest.permission.CAMERA)
+ ContextCompat.checkSelfPermission(StartActivity.this, Manifest.permission.RECORD_AUDIO)
!= PackageManager.PERMISSION_GRANTED) {
Log.i("Permission is require first time", "...OK...getPermission() method!..if");
ActivityCompat.requestPermissions(StartActivity.this,
new String[]{Manifest.permission.CAMERA,
Manifest.permission.RECORD_AUDIO},
REQUEST_PERMISSIONS);
}
else
{
initView();
}
}
@Override
public void onRequestPermissionsResult(final int requestCode, @NonNull final String[] permissions, @NonNull final int[] grantResults)
{
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == REQUEST_PERMISSIONS) {
if ((grantResults.length > 0) && (grantResults[0]+grantResults[1])
== PackageManager.PERMISSION_GRANTED) {
// Permission granted.
initView();
} else {
Toast.makeText(StartActivity.this, "All Permission is Required, Toast.LENGTH_LONG).show();
getPermission()
}
}
}