android中相机捕获的隐式意图

Posted

技术标签:

【中文标题】android中相机捕获的隐式意图【英文标题】:implicit intent for camera capture in android 【发布时间】:2013-08-26 01:34:01 【问题描述】:

我正面临一个非常奇怪的问题。我有打开默认相机的隐含意图。

有一个带有相机图标的图像视图,点击它会打开默认相机。

有时单击图像视图会打开相机,但有时不会。当我单击后退按钮时,它会打开默认相机。我对此感到困惑。这是我的代码问题还是设备错误。

图像视图位于网格视图中。当我创建捕获的图像的网格视图时。第一个图像将是相机图标,然后网格将包含捕获的图像。

我正在发布我的代码:

清单权限:

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

java代码:

public void openCamera(String _path, String file_name) 
    File file = new File(_path);
    if (!file.exists()) 
        file.mkdirs();
    

    mImageFile = new File(file + file_name);
    // create new Intent
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(mImageFile));
    mActivity.startActivityForResult(intent, 1);


protected void onActivityResult(int requestCode, int resultCode, Intent data) 

    if (resultCode == RESULT_OK) 
        //user is returning from capturing an image using the camera
        if(requestCode == CAMERA_CAPTURE)

            //sets the adapter

        
    

【问题讨论】:

如果你使用了 Intent ACTION_IMAGE_CAPTURE,默认摄像头不需要摄像头权限。 添加权限 但问题是因为权限吗?我不这么认为 需要许可,因为您将图像存储在自己的文件夹中,这是为什么 你必须添加权限 跨度> 【参考方案1】:

试试这个并享受吧

File file = new File(Environment.getExternalStorageDirectory() + "/DCIM/", "image" + new Date().getTime() + ".png");
Uri imgUri = Uri.fromFile(file);
String imgPath = file.getAbsolutePath();

final Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, setImageUri());
startActivityForResult(intent, CAPTURE_IMAGE);

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) 
        if (resultCode != Activity.RESULT_CANCELED) 
            if (requestCode == CAPTURE_IMAGE) 
                imgUser.setImageBitmap(BitmapFactory.decodeFile(imgPath));
             else 
                super.onActivityResult(requestCode, resultCode, data);
            
        

    

【讨论】:

是图片视图的点击事件的问题。因为现在我把它改成了触摸监听器并且它工作正常。 图像视图正在动态创建

以上是关于android中相机捕获的隐式意图的主要内容,如果未能解决你的问题,请参考以下文章

如何使我的应用程序对打开 PDF 文件的隐式意图可见?

隐含意图有多安全?

隐式意图Intent

Android显式意图和隐式意图

[android] 隐式意图激活另外一个activity

Android5.0隐式启动服务