Android - 拍照时 resultCode 永远不会是 RESULT_OK

标签 android android-camera-intent

当我尝试拍摄照片并将其存储在外部存储器中时,我卡在了一个应用程序上。相机 Intent 有效,但我无法确认拍摄的图像。然后我把onActivityResult改成下面这样监听resultCode。触摸确认按钮永远不会记录任何内容。触摸取消按钮虽然会记录两个预期的日志。

private static final int TAKE_PHOTO_CODE = 2;
private File destination;

takePhoto.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        destination = new File(Environment
        .getExternalStorageDirectory(), "name");
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        intent.putExtra(MediaStore.EXTRA_OUTPUT,
                Uri.fromFile(destination));
        intent.putExtra("return-data", true);
        startActivityForResult(intent, TAKE_PHOTO_CODE);
    }
});

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    Log.d("Test", "App is inside onActivityResult");
    Log.d("Test", String.valueOf(resultCode));
}

编辑:我相信我已经正确地授予了所有必需的权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera"
        android:required="true" />

最佳答案

onActivityResult(int requestCode, int resultCode, Intent data)”是在 Fragment 中还是在 Activity 中定义的?

...如果是在Fragment中,请在Activity中相应的方法中添加日志,有时会带来这样的惊喜。

另一种可能性是相机无法在提供的路径上写入..“destination = new File(Environment .getExternalStorageDirectory(), "name");"...确保它已创建并可正确访问。

关于Android - 拍照时 resultCode 永远不会是 RESULT_OK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23661344/

相关文章:

Android相机Intent设置分辨率

Android onActivityResult 数据参数使用相机返回 null

android - Android Webview文件和相机上传-Kotlin

android - 创建drawable旋转180度

java - Android Tabhost刷新

android - 安全异常 : Permission Denial: opening provider using FileProvider

Android App 开头崩溃 : Database Sqlite

android - 有没有办法从 Android 的自定义相机 View 中删除暂停按钮?

android - 相机 Intent 不保存照片

Android:检测导航栏可见性