Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android (安卓)摄像头捕获不保存,可以';t加载图像的位图_Android_Image_Android Bitmap_Android Fileprovider - Fatal编程技术网

Android (安卓)摄像头捕获不保存,可以';t加载图像的位图

Android (安卓)摄像头捕获不保存,可以';t加载图像的位图,android,image,android-bitmap,android-fileprovider,Android,Image,Android Bitmap,Android Fileprovider,我正在尝试编写代码,启动摄像头应用程序,保存图像,然后显示捕获图像的位图 这是相关代码,改编自: 我还设置了以下权限: <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 不知道这里发生了什么。请帮忙 B

我正在尝试编写代码,启动摄像头应用程序,保存图像,然后显示捕获图像的位图

这是相关代码,改编自:

我还设置了以下权限:

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
不知道这里发生了什么。请帮忙

Bitmap takenImage = BitmapFactory.decodeFile(takenPhotoUri.getPath());
这是行不通的。
Uri
不是
文件

getPhotoFileUri()
重构为两种方法:

  • 生成您的
    文件的
    getPhotoFile()
  • getPhotoFileUri()
    获取该
    文件的
    FileProvider
    Uri

然后,使用图像加载库(Glide、Picasso等)从
getPhotoFile()
返回的文件填充
ImageView
。这不仅可以为您处理所有的
BitmapFactory
内容,还可以在后台线程上完成这项工作,这样您就不会像在当前代码中那样冻结UI。

非常感谢您的帮助!:)
    <provider
        android:name="android.support.v4.content.FileProvider"
        android:authorities="com.kfode.schoolapp.fileprovider"
        android:exported="false"
        android:grantUriPermissions="true">
        <meta-data
            android:name="android.support.FILE_PROVIDER_PATHS"
            android:resource="@xml/file_paths"
            />
    </provider>
    <paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-files-path name="images"
    path="Pictures"/>
D/getPhotoFileUri: content://com.kfode.schoolapp.fileprovider/images/School_App/note4.jpg
D/NotesDetail: content://com.kfode.schoolapp.fileprovider/images/School_App/note4.jpg
E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /images/School_App/note4.jpg: open failed: ENOENT (No such file or directory)
Bitmap takenImage = BitmapFactory.decodeFile(takenPhotoUri.getPath());