获得Android版本7的权限

时间:2017-11-08 07:24:55

标签: android android-permissions android-4.4-kitkat android-7.0-nougat

我正在开发一个用于发送Android的短信的小应用程序。当您安装.apk Android 4.4 时,要求permission从设备发送SMS消息。但 Android 7 根本不会要求任何权限。但是,您需要在设置中手动打开SMS发送权限,以使应用程序正常工作。

有没有办法在安装过程中在所有Android系统上显示权限?

1 个答案:

答案 0 :(得分:1)

从Android 6.0(API级别23)开始,您必须在运行时请求权限。大多数应用程序在用户第一次启动应用程序时执行此操作。

要检查您是否已拥有该权限,请使用

int permissionCheck = ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.READ_SMS);

检查您是否可以阅读短信。 如果应用已获得权限,则返回PackageManager.PERMISSION_GRANTED,否则返回PackageManager.PERMISSION_DENIED

要请求权限,请使用

ActivityCompat.requestPermissions(thisActivity, new String[]{Manifest.permission.READ_SMS}, MY_PERMISSIONS_REQUEST_READ_CONTACTS);

其中MY_PERMISSIONS_REQUEST_READ_CONTACTS是一个定义为常量的应用程序。

The corresponding documentation will give more detail about this.

请注意:您需要在Manifest中定义相应的<uses-permission>元素,然后在运行时请求权限。

要解决此问题,只需将目标SDK版本降至23以下即可。

相关问题