【问题标题】:Camera does not return to OnActivityResult相机不返回 OnActivityResult
【发布时间】:2017-07-10 13:37:03
【问题描述】:

嗨,首先我知道这个问题已经被问过了,但我坚持了不止一天我想用相机意图拍照并将其保存在手机的ExternalStoragePublicDirectory 上,但拍照后它没有'不返回OnActivityResult 也不保存图片。它在 android 6 和 7 中不起作用: 任何帮助都会得到帮助!

Uri imageUri = setImageUri();
Intent intent1 = new 
Intent(MediaStore.ACTION_IMAGE_CAPTURE);

intent1.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, imageUri);

intent1.setFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);

List<ResolveInfo> resInfoList = 
MedicalActivity.this.getPackageManager().queryIntentActivities(intent1, 
PackageManager.MATCH_DEFAULT_ONLY);

for (ResolveInfo resolveInfo : resInfoList) {
String packageName =resolveInfo.activityInfo.packageName; 


MainActivity.this.grantUriPermission(packageName, imageUri, 
Intent.FLAG_GRANT_WRITE_URI_PERMISSION | 
Intent.FLAG_GRANT_READ_URI_PERMISSION);
}

startActivityForResult(intent1, CAPTURE_IMAGE);

设置图片Uri:

if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.KITKAT) {

        File mediaStorageDir = new File(
                Environment
                        .getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),
                "myappimages");
if (!mediaStorageDir.exists()) {mediaStorageDir.mkdir();}
        String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss",
                Locale.getDefault()).format(new Date());
        File file;
        file = new File(mediaStorageDir.getPath() + File.separator
                + "IMG_" + timeStamp + ".jpg");


        Uri imgUri = FileProvider.getUriForFile(MedicalActivity.this,
                BuildConfig.APPLICATION_ID + ".provider",
                file);

        return imgUri;

    }

文件提供者路径:

<external-path name="myapp_images_path" path="Pictures/myappimages"/>

【问题讨论】:

    标签: android camera


    【解决方案1】:

    android 版本大于 6 等于 6 需要申请存储和摄像头权限 例如检查这个链接https://androidkennel.org/android-camera-access-tutorial/https://developer.android.com/guide/topics/permissions/requesting.html

    【讨论】:

    • 是的,我也添加了。我请求“Manifest.permission.CAMERA”和“Manifest.permission.WRITE_EXTERNAL_STORAGE”并从“onRequestPermissionsResult”开始相机意图,但我仍然遇到同样的问题!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-11
    • 2021-05-26
    • 1970-01-01
    • 1970-01-01
    • 2017-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多