如何解决相机和图库在某些适用于Android应用的手机上无法打开
好吧,我们使用一些代码在android设备上打开图库和相机,用户选择一张照片并将其正常加载。
但是在某些手机上它不起作用,例如在诺基亚2.2手机上。
private void takeCameraImage() {
Dexter.withActivity(getActivity())
.withPermissions(Manifest.permission.CAMERA,Manifest.permission.WRITE_EXTERNAL_STORAGE)
.withListener(new MultiplePermissionsListener() {
@Override
public void onPermissionsChecked(MultiplePermissionsReport report) {
if (report.areAllPermissionsGranted()) {
Intent pictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File file;
try {
file = getImageFile(); // 1
} catch (Exception e) {
e.printStackTrace();
Log.e("exception","=="+e.getMessage()+" "+e.getLocalizedMessage());
return;
}
Uri uri;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) // 2
uri = FileProvider.getUriForFile(getContext(),BuildConfig.APPLICATION_ID.concat(".provider"),file);
else
uri = Uri.fromFile(file); // 3
pictureIntent.putExtra(MediaStore.EXTRA_OUTPUT,uri); // 4
startActivityForResult(pictureIntent,REQUEST_IMAGE_CAPTURE);
}
}
@Override
public void onPermissionRationaleShouldBeShown(List<PermissionRequest> permissions,PermissionToken token) {
token.continuePermissionRequest();
}
}).check();
}
这是开发人员在Java中使用的代码。任何人都可以理解为什么它可以在某些手机上而不是其他手机上使用吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。