今天用ContentProvider获取联系人信息, 代码没问题, 发现模拟器上运行时一点问题都没有, 但是真机一运行就崩溃了, 找了很多办法都没有能够解决, 折腾了一下午,
真机上报了安全异常: 大概是这样, causeBy: SecurityException: Permission Denial: opening provider com.android.providers.contacts.ContactsProvider2...
原因: Android6.0棉花糖是把权限提到运行时让用户来决定, 而不是在mainfest.xml设置的.如果你的手机是Android6.0以上的,注意了,我的手机就是6.0的......(哭..)
下面说一下解决方案:
既然他在Android6.0 上是用户决定的,那么6.0以下的就是我们程序员来决定的,所以把目标SDK改一下就可以
就是在build.gradle上
targetSdkVersion 23
改成
targetSdkVersion 21
即可