终极适配android各种机型,关于android动态权限获取,不同机型适配的问题

需要做的功能是,获取到WRITE_EXTERNAL_STORAGE动态权限,然后获取到手机内所有pdf和word文档.现在的问题就是,除了锤子坚果pro2手机,其他手机都是正常的,用坚果pro2并没有弹出任何获取动态权限的页面,打开获取手机文档的页面后手机就直接黑屏了,没有看到任何错误日志.请问这种问题应该怎么解决?

下面是获取动态权限和获取手机内所有pdf和word文档的代码:

1.获取动态权限:

//获取手机内所有文档和保存手写签名所需权限

` new RxPermissions(this) .request(Manifest.permission.WRITE_EXTERNAL_STORAGE)

.compose(RxUtil.lifeCycle(this))

.subscribe(aBooleans -> {

if (aBooleans) {

} else {

ToastUtils.showLong(R.string.please_open_permission);

Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);

Uri uri = Uri.fromParts("package", getPackageName(), null);

intent.setData(uri);

startActivityForResult(intent, REQUEST_PERMISSION_SETTING);

}

});`

2.获取手机内所有pdf和word文档:

` public static List getPdfAndDoc(String path) {

List list = new ArrayList<>();

File file = new File(path + "/");

if (file == null) {

return null;

}

File[] files = file.listFiles();

if (files != null) {

for (int i = 0; i < files.length; i++) {

//是否是文件夹

if (files[i].isDirectory()) {

getAllPDF(files[i].getPath());

} else {

if (files[i].getName().endsWith(".docx")||files[i].getName().endsWith(".doc")||files[i].getName().endsWith(".pdf")) {

//获取到的pdf文件

String name = files[i].getName();//获取所有pdf文件名

String absolutePath = files[i].getAbsolutePath();//获取所有pdf文件路径

DocSelectBean bean=new DocSelectBean();

bean.setDocName(name);

bean.setDocPath(absolutePath);

list.add(bean);

LogUtils.d("1730= " + absolutePath);

}

}

}

}

return list;

}`

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值