获取 Android 版本 7 的权限
Getting permissions on Android version 7
我正在开发一个用于为 Android 发送短信的小应用程序。当您安装 .apk 时,Android 4.4 要求 permission
从设备发送 SMS
消息。但是 Android 7 根本不询问任何权限。但是,您需要在设置中手动开启短信发送权限,才能使应用正常运行。
有没有办法在所有 Android 系统上的安装过程中显示权限?
自 Android 6.0(API 级别 23)起,您必须在运行时请求权限。大多数应用程序会在用户首次启动应用程序时执行此操作。
要检查您是否已经拥有权限,请使用
int permissionCheck = ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.READ_SMS);
检查您是否可以阅读短信。
Return 将是 PackageManager.PERMISSION_GRANTED
如果应用程序已经有权限,否则它将是 return PackageManager.PERMISSION_DENIED
.
要请求权限,请使用
ActivityCompat.requestPermissions(thisActivity, new String[]{Manifest.permission.READ_SMS}, MY_PERMISSIONS_REQUEST_READ_CONTACTS);
其中 MY_PERMISSIONS_REQUEST_READ_CONTACTS
是应用程序定义的 int 常量。
The corresponding documentation will give more detail about this.
请注意:您需要在 Manifest 中定义相应的 <uses-permission>
元素,然后在运行时请求权限。
要解决此问题,只需将目标 SDK 版本降低到 23 以下即可。
我正在开发一个用于为 Android 发送短信的小应用程序。当您安装 .apk 时,Android 4.4 要求 permission
从设备发送 SMS
消息。但是 Android 7 根本不询问任何权限。但是,您需要在设置中手动开启短信发送权限,才能使应用正常运行。
有没有办法在所有 Android 系统上的安装过程中显示权限?
自 Android 6.0(API 级别 23)起,您必须在运行时请求权限。大多数应用程序会在用户首次启动应用程序时执行此操作。
要检查您是否已经拥有权限,请使用
int permissionCheck = ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.READ_SMS);
检查您是否可以阅读短信。
Return 将是 PackageManager.PERMISSION_GRANTED
如果应用程序已经有权限,否则它将是 return PackageManager.PERMISSION_DENIED
.
要请求权限,请使用
ActivityCompat.requestPermissions(thisActivity, new String[]{Manifest.permission.READ_SMS}, MY_PERMISSIONS_REQUEST_READ_CONTACTS);
其中 MY_PERMISSIONS_REQUEST_READ_CONTACTS
是应用程序定义的 int 常量。
The corresponding documentation will give more detail about this.
请注意:您需要在 Manifest 中定义相应的 <uses-permission>
元素,然后在运行时请求权限。
要解决此问题,只需将目标 SDK 版本降低到 23 以下即可。