我正在开发一个用于发送Android的短信的小应用程序。当您安装.apk Android 4.4 时,要求permission
从设备发送SMS
消息。但 Android 7 根本不会要求任何权限。但是,您需要在设置中手动打开SMS发送权限,以使应用程序正常工作。
有没有办法在安装过程中在所有Android系统上显示权限?
答案 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以下即可。