这几天在做一个自动读取短信的功能,在这个过程中发现魅族手机不提示授权弹出框,下面发一下代码。再次记录一下问题,欢迎各位大佬能给点解决办法。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_SMS) != PackageManager.PERMISSION_GRANTED) { if (ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this, Manifest.permission.RECEIVE_SMS)) {//是否请求过该权限 ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.RECEIVE_SMS, Manifest.permission.READ_SMS, Manifest.permission.SEND_SMS}, 1); } else {//没有则请求获取权限,示例权限是:相机权限和定位权限,需要其他权限请更改或者替换 ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.RECEIVE_SMS}, 1); } } else { //如果已经获取到了权限则直接进行下一步操作 Log.e(TAG, "onRequestPermissionsResult"); } }
回调
@Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); }发现在android 的虚拟机上完全没有问题,但是在魅族上6.0以下默认给的权限是询问,6.0以上也没有弹出授权对话框,给的也是询问。希望大佬们能给点相关的解决方案。最后本人用的一个大神权限适配库,5.0强制弹出授权框,但是发现魅族还是有问题。不过过是一个很好的库,大家可以去看看。地址:https://github.com/jokermonn/permissions4