想给自己的应用写一个打印log的工具类,基本方法都已经写完毕,但就是死活无法在SD卡里面创建文件,用户权限也已经添加:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
找不到原因的我眼泪流下来||。—,在网上找了很多文章也是不行
代码来来回回看了几百遍发现根本毫无破绽啊。。。嘿嘿~
看来还是权限的问题,终于意识到自己的测试机是6.0系统,需要申请运行时权限,顺着这条线终于告破,下面是请求权限的代码:
if (Build
.VERSION.SDK_INT >= Build
.VERSION_CODES
.M){
if(PermissionChecker
.checkSelfPermission(this, Manifest
.permission.WRITE_EXTERNAL_STORAGE) != PackageManager
.PERMISSION_GRANTED)
requestPermissions(permissions, PERMISSION_REQUEST_CODE)
}
}
在Activity里面设置回调:
@Override
public void onRequestPermissionsResult(
int requestCode, @NonNull String[] permissions, @NonNull
int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == PERMISSION_REQUEST_CODE){
for (String permission:permissions){
if (PermissionChecker.checkSelfPermission(
this, permission)!=PackageManager.PERMISSION_GRANTED){
Toast.makeText(
this,
"需要更多权限", Toast.LENGTH_SHORT).show();
finish();
}
}
}
}
铛浪浪~大功告成!
转载请注明原文地址: https://ju.6miu.com/read-1308339.html