参考:https://blog.csdn.net/zxl1173558248/article/details/79414834
一开始是用ActivityCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.ACCESS_COARSE_LOCATION)这个检测,但是提示checkSelfPermission没有定义,上网找了原因
经过多番尝试和查找资料发现原因:
If your application is targeting an API level before 23 (Android M) then both:ContextCompat.CheckSelfPermission and Context.checkSelfPermission doesn't work and always returns 0 (PERMISSION_GRANTED). Even if you run the application on Android 6.0 (API 23).
在targetSdkVersion小于23(Android M)的时候,ContextCompat.CheckSelfPermission 和Context.checkSelfPermission方法都不能正常工作并且始终返0(PERMISSION_GRANTED),即使你的应用运行在Android6.0(API 23)的设备上。
参考:https://blog.csdn.net/erinandaaron/article/details/79648393
解决方案:
PackageManager pm = getPackageManager();
boolean permission_readStorage = (PackageManager.PERMISSION_GRANTED ==
pm.checkPermission("android.permission.READ_EXTERNAL_STORAGE", "packageName"));