如何获取前置摄像头捕获的图像路径[重复]

Posted

技术标签:

【中文标题】如何获取前置摄像头捕获的图像路径[重复]【英文标题】:How to get front camera captured images path [duplicate] 【发布时间】:2018-03-15 19:40:58 【问题描述】:

我只想获取前置摄像头拍摄的图像。

是否有任何意图或媒体功能可以为我提供由前置摄像头(自拍相机)捕获的所有图像路径

提前致谢。

【问题讨论】:

我觉得这个链接对你有帮助***.com/a/4495753/5580210 【参考方案1】:

是否有任何意图或媒体功能可以为我提供由前置摄像头(自拍相机)捕获的所有图像路径

没有。

【讨论】:

好的,感谢您的信息。【参考方案2】:

虽然没有直接的方法可以做到这一点,但您可以获取DCIM 文件夹中每张图片的exif 元数据,然后检查TAG_MODEL(或任何其他特征)是否与您的前置摄像头匹配规范。

从图像文件 (source) 中获取 exif 元数据的示例代码:

public class androidExif extends Activity 

 TextView myTextView;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        myTextView = (TextView)findViewById(R.id.textview);

        //change with the filename & location of your photo file
        String filename = "/sdcard/DSC_3509.JPG";
        try 
   ExifInterface exif = new ExifInterface(filename);
   ShowExif(exif);
   catch (IOException e) 
   // TODO Auto-generated catch block
   e.printStackTrace();
   Toast.makeText(this, "Error!", 
     Toast.LENGTH_LONG).show();
  
    

    private void ShowExif(ExifInterface exif)
    
     String myAttribute="Exif information ---\n";
     myAttribute += getTagString(ExifInterface.TAG_DATETIME, exif);
     myAttribute += getTagString(ExifInterface.TAG_FLASH, exif);
     myAttribute += getTagString(ExifInterface.TAG_GPS_LATITUDE, exif);
     myAttribute += getTagString(ExifInterface.TAG_GPS_LATITUDE_REF, exif);
     myAttribute += getTagString(ExifInterface.TAG_GPS_LONGITUDE, exif);
     myAttribute += getTagString(ExifInterface.TAG_GPS_LONGITUDE_REF, exif);
     myAttribute += getTagString(ExifInterface.TAG_IMAGE_LENGTH, exif);
     myAttribute += getTagString(ExifInterface.TAG_IMAGE_WIDTH, exif);
     myAttribute += getTagString(ExifInterface.TAG_MAKE, exif);
     myAttribute += getTagString(ExifInterface.TAG_MODEL, exif);
     myAttribute += getTagString(ExifInterface.TAG_ORIENTATION, exif);
     myAttribute += getTagString(ExifInterface.TAG_WHITE_BALANCE, exif);
     myTextView.setText(myAttribute);
    

    private String getTagString(String tag, ExifInterface exif)
    
     return(tag + " : " + exif.getAttribute(tag) + "\n");
    

【讨论】:

以上是关于如何获取前置摄像头捕获的图像路径[重复]的主要内容,如果未能解决你的问题,请参考以下文章

具有多个选项的 Android 意图,即从图库中选择图像并使用前置摄像头捕获图像

IOS Swift 3:拍摄相机图片后水平翻转前置摄像头图像

前置摄像头安卓。 [复制]

如何在android中使用前置摄像头[重复]

如何使前置摄像头拍摄的视频不是逆安卓?

相机预览很好,但前置摄像头会产生非常暗的照片