and*_*per 5 permissions android google-cloud-messaging android-6.0-marshmallow
我正在尝试调查办公室的应用程序需要更改其权限,以便很好地支持Android 6.
我发现哪个权限需要确认,哪个不是,除了一个:
<uses-permission android:name=".permission.C2D_MESSAGE"/>
Run Code Online (Sandbox Code Playgroud)
看来这个权限在我找不到的任何地方都没有提到,因为它没有被自动授予,但我无法找到用户可以将其作为确认启用的位置.
为了找到默认授予的权限,哪些不是,我只是调用了这段代码:
private void checkPermissionsOfApp(String packageName) {
PackageManager pm = getPackageManager();
try {
final ApplicationInfo applicationInfo = pm.getApplicationInfo(packageName, PackageManager.GET_META_DATA);
Log.d("AppLog", "Listing all permissions of app with PackageName: " + applicationInfo.packageName);
PackageInfo packageInfo = pm.getPackageInfo(applicationInfo.packageName, PackageManager.GET_PERMISSIONS);
//Get Permissions
String[] requestedPermissions = packageInfo.requestedPermissions;
if (requestedPermissions != null) {
for (String permission : requestedPermissions) {
boolean permissionGranted = pm.checkPermission(permission, packageName) == PackageManager.PERMISSION_GRANTED;
Log.d("AppLog", "permission:" + permission + " permissionGranted:" + permissionGranted);
}
}
} catch (NameNotFoundException e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
电话:
checkPermissionsOfApp(getPackageName());
Run Code Online (Sandbox Code Playgroud)
使用上面的代码,它崩溃了有问题的权限,但是当使用ContextCompat.checkSelfPermission时,它表示它没有被授予.
怎么会这样?我如何授予应用程序此权限?它在哪里提到过?
| 归档时间: |
|
| 查看次数: |
3242 次 |
| 最近记录: |