首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android:从相机获取文件名?

在Android系统中,从相机获取文件名可以通过以下步骤实现:

  1. 首先,在AndroidManifest.xml文件中添加相机和外部存储访问权限:
代码语言:xml
复制
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  1. 在代码中创建一个File对象,用于存储拍照后的图片:
代码语言:java
复制
private File createImageFile() throws IOException {
    // Create an image file name
    String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
    String imageFileName = "JPEG_" + timeStamp + "_";
    File storageDir = getExternalFilesDir(Environment.DIRECTORY_PICTURES);
    File image = File.createTempFile(
        imageFileName,  // prefix
        ".jpg",         // suffix
        storageDir      // directory
    );

    // Save a file: path for use with ACTION_VIEW intents
    mCurrentPhotoPath = image.getAbsolutePath();
    return image;
}
  1. 在代码中启动相机应用,并将拍照后的图片保存到上一步创建的File对象中:
代码语言:java
复制
private void dispatchTakePictureIntent() {
    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    // Ensure that there's a camera activity to handle the intent
    if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
        // Create the File where the photo should go
        File photoFile = null;
        try {
            photoFile = createImageFile();
        } catch (IOException ex) {
            // Error occurred while creating the File
            // Handle the exception appropriately in your application
        }
        // Continue only if the File was successfully created
        if (photoFile != null) {
            Uri photoURI = FileProvider.getUriForFile(this,
                                                      "com.example.android.fileprovider",
                                                      photoFile);
            takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);
            startActivityForResult(takePictureIntent, REQUEST_TAKE_PHOTO);
        }
    }
}
  1. 在onActivityResult方法中处理拍照后的结果,并获取文件名:
代码语言:java
复制
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == REQUEST_TAKE_PHOTO && resultCode == RESULT_OK) {
        // Get the file name of the captured image
        String fileName = new File(mCurrentPhotoPath).getName();
        // Do something with the file name
    }
}

通过以上步骤,您可以在Android系统中从相机获取文件名。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Kettle之“获取文件名

    现在需要把这些文件的内容导入一个表,除了文件中的两列,还要存一列记录对应的文件名。 作为一个搞数据库的,导入数据本来是小事一桩,可这有几百个文件要手工逐个处理未免太麻烦了,于是想起了Kettle。...Kettle的转换处理数据流,其中有一个“获取文件名”的输入对象,可以使用它在导入文件数据时添加上文件名字段,而且支持正则表达式同时获取多个文件名,正好适用此场景。下面为实现步骤。 1....新建一个转换,包含“获取文件名”、“文本文件输入”、“表输出”三个步骤,如下图所示。 ? 2. “获取文件名”如下图所示。 ? 注意:正则表达式的*前面要加一个“.”,否则报错。 3....注意:通过这种设置后文本文件输入中字段选项无法自动获取字段。不过可以先不设置从前一步骤获取文件名,利用这个步骤的自身属性先获取字段,然后再设置。 4. “表输出”如下面两图所示。 ? ?

    3.3K10

    Android相机快速使用

    camera) { Camera.CameraInfo info = new android.hardware.Camera.CameraInfo(); //获取摄像头信息...().getDefaultDisplay().getRotation(); //获取摄像头当前的角度 int degrees = 0; switch (rotation...在Android6.0及以上,需要动态申请权限。在权限获得同意后,才能初始化相机相关组件,否则会直接报错 相机中有很多参数可以设置,如闪光灯,录制码率,预览尺寸等。...但所有的参数设置,都需要先获取硬件的支持情况。如果硬件不支持,则可能报错。 Camera.open()在大部分手机上,可以在子线程中启动,减少主线程的卡帧情况。但在部分机型如魅族上,只能在主线程启动。...相机相关的组件,需要非常注意机型适配的问题。 以上就是Android Camera组件的快速使用。如有间题,欢迎指正。

    97430

    java获取文件名乱码_java导出文件名中文乱码

    Java读linux系统文件文件名乱码的解决办法 1,问题描述 web应用想通过Java读取linux系统文件显示到web页面上,结果中文文件名出现乱码?.../** * 根据path路径查找出该路径下可视文件列表 * @param path * @return */ public List getFilesByPath(String path){ //获取系统编码...解决方法是将path参数utf-8转换为系统编码,再根据path去遍历文件。...路径查找出该路径下可视文件列表 * @param path * @return */ public List getFilesByPath(String path) throws Exception{ //获取系统编码...解决乱码问题就是源头追溯的显示,一路纠结编码就这么简单。。。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

    3.1K20

    Android相机启动加速详解

    Android上实现一个简单能用的相机其实挺容易。谷歌随便搜一搜就有很多能用的Sample。当然就像谷歌能搜到的其他代码一样,这些Sample虽然能用但离好用还很远。...这篇文章就只说说用户点击启动按钮到用户能看到实时预览的这一小段时间内,我们所做的优化。 Android手机上良莠不齐的硬件,导致相机启动时间有长有短,很难预期。...按照网上能搜到的一般相机Sample的说法,启动相机到实时预览,我们需要做三件事:1.构建一个GlSurfaceView并获取它的SurfaceHolder;2.获取一个Camera device,启动它..." android:layout_height="match_parent" / 我们可以在CameraActivity的onCreate里获取到这个GlSurfaceView。...一个是在我们获取到CameraActivity的实例之前就要开始启动相机了,另一个是Camera启动完成后没办法调用Activity实例的checkCamera方法。

    1.4K20

    android 自定义相机

    老规矩,先上一下项目地址:GitHub:https://github.com/xiangzhihong/CameraDemo 方式: 调用Camera API 自定义相机 调用系统相机 由于需求不同...相机开发简介 下面说说在Android中调用Camera来定义相机的最基本步骤: 打开相机 —— 调用Camera的open()方法。...获取拍照参数 —— 调用Camera的getParameters()方法,返回Camera.Parameters对象。 拍照参数设置 —— 调用Camera.Parameters对象。...if (rawSupportedSizes == null) {   return defaultPreviewResolution;           }   // 按照分辨率大到小排序...导致原因:由于单独开辟了线程去初始化启动相机,导致相机的初始化和开启工作已完成,而找不到画布控件。若出现此情况,可调试或者将线程睡眠500毫秒。

    2.9K61

    Android相机开发那些坑

    这篇文章总结了Android相机开发的相关知识、流程,以及容易遇到的坑,希望能帮助今后可能会接触Android相机开发的朋友快速上手,节省时间,少走弯路。...一.Android中开发相机应用的两种方式 Android系统提供了两种使用手机相机资源实现拍摄功能的方法,一种是直接通过Intent调用系统相机组件,这种方法快速方便,适用于直接获得照片的场景,如上传相册...这篇文章主要是如何使用相机API来定制自定义相机这个方向展开的。...它提供了完整的相机底层接口,支持相机资源切换,设置预览/拍摄尺寸,设定光圈、曝光、聚焦等相关参数,获取预览/拍摄帧数据等功能,主要方法有以下这些: open():获取camera实例。...shutter是快门按下时的回调,raw是获取拍照原始数据的回调,jpeg是获取经过压缩成jpg格式的图像数据的回调。 SurfaceView:用于绘制相机预览图像的类,提供给用户实时的预览图像。

    29.5K50
    领券