android - 如何检测是否拍摄了照片(相机 Intent )

标签 android android-intent android-camera android-camera-intent

我想发送一张由相机 Intent 拍摄的照片。

  • 相机工作正常
  • 我有来自 mMediaUri.getPath() 的路径(正确)
  • 我有发送它的方法 (postImage())(工作正常)

当我启动 Intent 时,相机出现,但 postImage 方法不会等到拍照。 PostImage 在启动 Intent 后才加载。

拍照后如何加载postImage?

如何检测照片是否被拍过?

Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
        mMediaUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE);
        if(mMediaUri == null){
          Toast.makeText(MainActivity.this, "Problem!", Toast.LENGTH_LONG).show();

        }
        else {
            takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, mMediaUri);
            startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);

            postImage("mail", mMediaUri.getPath());

        }

    }

enter image description here

最佳答案

您可以简单地使用它来打开相机:

static final int REQUEST_IMAGE_CAPTURE = 1;

private void dispatchTakePictureIntent() {
    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
        startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
    }
}

并用于检测捕获(确定或取消按钮)

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
        Bundle extras = data.getExtras();
        Bitmap imageBitmap = (Bitmap) extras.get("data");
        mImageView.setImageBitmap(imageBitmap);
    }
}

不要忘记授予权限:

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

同时检查这些链接:

http://developer.android.com/training/camera/photobasics.html https://developer.android.com/training/camera/index.html

关于android - 如何检测是否拍摄了照片(相机 Intent ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33132730/

相关文章:

php - 如何在我的 Android 应用程序中使用全局变量从 mysql 检索用户的登录 ID?

android - 强制 `appcompat-v7:24.0.3` 会给出错误消息

android - 特定位置背景模糊的对话框

android - Camera App Orientation 刷新父 Activity?

java - .putExtra Intent 后应用程序崩溃

java - 这是我直接在 Android 中录制视频的代码,但它不起作用。它只显示黑色屏幕。有人可以帮我吗?

android - 如果我使用grifika的ContinuousCaptureActivity中的预览方式,相机预览的视野会变小

Android,finish()关闭应用程序而不是 Activity

java - 如何创建像 Uber 这样的手机身份验证凭证?

php - 如何将 ImageView 中的图像发送到 php 服务器?