报错的问题:
Permission Denial: readingcom.android.providers.telephony.SmsProvider uri content://sms/
找到问题:
老师最近讲到内容提供者,让我们做个案例,查看短信的猫,但我写完代码,在android studio里编辑了短信,而且检查代码没有问题,但出现程序闪退,我在Logcat发现上述程序错误。我在网上搜索得出是权限问题,是sdk23对应用程序权限做出了改动。
解决方法:
那个博主提供了两种结局方法:
1.使用sdk22开发,并且运行此程序的android虚拟机或者是手机系统6.0以下。(我不建议采用)
2.进行权限校验,在MainActivity里添加代码如下图:
final private int REQUEST_CODE_ASK_PERMISSIONS = 123;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
int hasReadSmsPermission = checkSelfPermission(Manifest.permission.READ_SMS);
if (hasReadSmsPermission != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{Manifest.permission.READ_SMS}, REQUEST_CODE_ASK_PERMISSIONS);
return;
}
}
用上面方法,我用的android studio自带的模拟器运行后,点击查看短信就可以查看我发出的短信了。
附上参考网址:http://t.csdn.cn/SC3kH