我正在开发简单的节点管理器,其中用户应该可以为注释制作照片。 这是启动相机的按钮的代码:

final Intent makePhotoIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

PackageManager packageManager = fragment.getActivity().getPackageManager();
Uri uri = FileProvider.getUriForFile(getActivity(), FILE_PROVIDER, mTempPhotoFile);
makePhotoIntent.putExtra(MediaStore.EXTRA_OUTPUT, uri);

List<ResolveInfo> cameraActivities = packageManager
        .queryIntentActivities(makePhotoIntent, PackageManager.MATCH_DEFAULT_ONLY);
for (ResolveInfo info : cameraActivities) {
    getActivity().grantUriPermission(info.activityInfo.packageName, uri,
            Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_READ_URI_PERMISSION);
}

startActivityForResult(makePhotoIntent, REQUEST_PHOTO);

我以这种方式创建File对象:

public File getPhotoFile(String fileName) {
    File filesDir = context.getFilesDir();
    return new File(filesDir, fileName);
}

这是FileProvider的配置:

<provider
    android:name="android.support.v4.content.FileProvider"
    android:authorities="com.artyom.taskmanager.fileprovider"
    android:exported="false"
    android:grantUriPermissions="true">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/files" />
</provider>
<paths>
    <files-path
        name="task_photos"
        path="."/>
</paths>

制作完照片后,我将其设置为ImageView并正确显示。 然后,将照片文件名设置为便笺的字段,然后使用Room将便笺保存到本地数据库。

但是,当我打开保存的注释时,照片不会显示。 我从便笺的字段中按名称获取了照片文件,但file.exists()返回false。

我要去哪里错了,我无法弄清楚。 请帮忙。

  ask by Artyom Efimov translate from so

本文未有回复,本站智能推荐:

3回复

将zip写入内部存储-下载完成后文件不存在

我使用了一个教程 ,将zip下载到应用程序内部存储的子目录中。 我将zip写到/data/data/my.package.name/files/mySubDirectory/the.zip 。 但是,当我检查邮政编码是否存在时,它不存在: 我验证了fileDirectory与FileO
1回复

XamarinAndroid保存文件,Environment.Specialfolder不存在

我刚刚创建了一个Xamarin Android Single-View-app,它可以从保管箱下载文件。 我早些时候做了这个应用程序,但是我的Mac的HDD崩溃了。 我搜索了保存位置并发现: 我尝试过,但是它被标记为红色,因为它不存在。 我昨天安装了Xamarin,我拥有最新版本。
1回复

为什么现有文件不存在?

我发现自己处于一种异常情况。我正在从我的应用程序中从互联网下载一些视频文件,该文件的名称是从URL中提取的。 无论如何,它总是告诉我即使我下载了文件,该文件也不存在。 我正在使用DownloadManager.Request文件,如下所示: 并且我检查文件是否存在为existLocal
3回复

APK文件不存在

我最近更新了我的android工作室并开始收到此错误: 磁盘上不存在APK文件\\ app \\ build \\ outputs \\ apk \\ app-debug.apk。 安装APK时出错 这是非常令人沮丧的,因为我已经尝试了我在网上遇到的所有内容并没有任何效果。 据我
4回复

Android文件不存在(但同时存在!)

我有一个 Android 程序,它创建一个文件并在 if 语句中检查它。 这样做的目的是能够在应用程序中保存值。 该应用程序是这样工作的。 我将这些值输入到手机上,然后让应用程序崩溃以重置它。 这些值已保存在文件中。 当我再次打开应用程序时,它应该跳过让我输入值的屏幕。 当我这样做时,该应用程序就好
1回复

尝试保存文件,但即使尝试创建目录也获得“文件的父目录不存在”

我正在尝试将图像保存到我的SD卡中,但是遇到以下错误: 我的清单中确实有权限 这是我的代码: 有任何想法吗?
2回复

不存在活动类文件-为什么?[重复]

这个问题在这里已经有了答案: 使用 adb shell am start 启动 android 应用程序时出现错误“活动类不存在” (7 个回答) 5 个月前关闭。
1回复

zipAlignDebug输入文件不存在错误

自从我更新到Gradle Alpha 6之后,我一直收到此错误,无法构建: 我已经尝试了所有建议,但没有任何解决办法。 有小费吗? 它正在alpha 2上运行,但现在却出现错误,提示我的版本太旧,需要升级到新版本。 谢谢! 。