【问题标题】:I have to programmatically retrieve permissions group from the manifest.xml of an android application我必须以编程方式从 android 应用程序的 manifest.xml 中检索权限组
【发布时间】:2016-09-09 05:22:41
【问题描述】:

我想以分组方式列出安装在设备上的每个应用所获得的权限。

【问题讨论】:

标签: java android android-manifest


【解决方案1】:

请看这个,希望对你有帮助。

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()
            }
        }
    }

【讨论】:

    【解决方案2】:

    您可以使用 PackageManager 检索应用的权限。见:list of apps permissions

    【讨论】:

      猜你喜欢
      • 2013-08-16
      • 2010-10-25
      • 1970-01-01
      • 2022-11-16
      • 1970-01-01
      • 2012-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多