2017-10-23 11 views
0

注:デフォルトでアプリケーションはアンインストールできません。これは、デバイス管理者権限を持つデバイス所有者アプリであり、すべての権限がデフォルトで付与されているためです。ただし、ユーザーがこれらのアクセス許可を無効にすることは可能です。権限の変更トグルボタンをグレーアウトすることで、ユーザがこれを禁止することはありますか?私はサムスンのKNOXベースのEMMアプリでこれが無効になっているのを見ました。ユーザーがデバイス所有者のアプリケーションで権限を変更できないようにするにはどうすればよいですか?

+0

システムアプリは自分の権限を元に戻すことができますか? –

+0

はい、これは私が無効にしたいものです。そして私が言ったように、私はそれが他のアプリで行われているのを見ました。 –

答えて

0

これは私のためにそれを解く:

targetSdkVersionは23またはこれが機能するために超えるべきです。

DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE); 

ComponentName mDeviceAdmin = new ComponentName(this, AdminReceiver.class); 

    try { 
       String[] permissions = context.getPackageManager().getPackageInfo(context.getPackageName(),PackageManager.GET_PERMISSIONS).requestedPermissions; 
       for (String permission : permissions) { 
        boolean success = dpm.setPermissionGrantState(mDeviceAdmin, 
          getPackageName(), permission, PERMISSION_GRANT_STATE_GRANTED); 
        if (!success) { 
         Log.e(TAG, "Failed to auto grant permission to self: " + permission); 
        } 
       } 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 

PERMISSION_GRANT_STATE_GRANTED:許可がアプリに付与され、ユーザーがUIを通じて許可を管理することはできません。

PERMISSION_GRANT_STATE_DENIED:許可がアプリケーションに拒否されています。ユーザーはUIを通じてアクセス許可を管理できません。

PERMISSION_GRANT_STATE_DEFAULT:ユーザーは、UIを通じてアクセス許可を管理できます。

関連する問題