【问题标题】:android camera intent with positive button not functioning带有正面按钮的android相机意图不起作用
【发布时间】:2023-03-10 09:10:01
【问题描述】:

我正在尝试使用相机意图,使用下面的代码。

public boolean onLongClick(View v) {
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
    intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
    startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
    return false;
}


protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    Log.i("user prof", "resultcode: "+resultCode);
    if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {
        if (resultCode == RESULT_OK) {
            Toast.makeText(this, "Picture was  taken", Toast.LENGTH_SHORT).show();
        } else if (resultCode == RESULT_CANCELED) {
            Toast.makeText(this, "Picture was not taken", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(this, "Picture was not taken", Toast.LENGTH_SHORT).show();
        }
    }
}

相机工作,它打开并让我拍照,但正面按钮不起作用,它不会关闭意图,也不会显示在 logcat 或 Toast 工具中。问题是当按下相机意图中的正按钮时永远不会调用方法“onActivityResult”,另一方面,当按下负按钮时它会正确调用。

我在清单中声明了这些权限

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

我该如何解决这个问题?

谢谢

【问题讨论】:

    标签: android android-intent camera


    【解决方案1】:

    你为什么使用这些代码intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);. This code is for video.

    使用以下代码捕获图像。

        Intent intent = new Intent(
                    android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            intent.putExtra(MediaStore.EXTRA_OUTPUT,imageUri);
            intent.putExtra("return-data", true);
            startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
    

    【讨论】:

    • 是的,EXTRA_VIDEO_QUALITY 标志是一个错误。我已经尝试过您的解决方案,但它对我不起作用。
    • 你使用 android.provider.MediaStore.ACTION_IMAGE_CAPTURE 而不是 MediaStore.ACTION_IMAGE_CAPTURE
    【解决方案2】:

    我找到了解决办法:

    出现这个问题是因为我使用的 imageUri 对于我正在开发的设备可能不可读,它不会在 logcat 中给我任何错误,但如果我没有设置 extra_output,它是完美的工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-25
      • 1970-01-01
      相关资源
      最近更新 更多