gpt4 book ai didi

android - 尝试拍照时找不到包含/storage/emulated/0/Pictures/NoteTaking/IMG_20170226_231007.jpg 的已配置根目录

转载 作者:行者123 更新时间:2023-11-30 00:41:38 24 4
gpt4 key购买 nike

我正在尝试制作一个应用程序来拍摄照片并使用模拟器而不是设备显示它。我按照此 android doc 中的步骤操作:

第 1 部分)这是我的代码卡住的地方:file = FileProvider.getUriForFile(this, "edu.android.notetakingapplication.provider", createFileDir());

这部分在Mainxml中

    if (!mediaStorageDir.exists()){
if (!mediaStorageDir.mkdirs()){
Log.d("NoteTaking", "failed to create directory");
return null;
}
}

String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
return new File(mediaStorageDir.getPath() + File.separator +
"IMG_"+ timeStamp + ".jpg");
}

这是我的应用程序 list 文件的提供商部分

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="edu.android.notetakingapplication.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
</provider>

和 provider_paths.xml

<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path name="external_files" path="Android/data/edu.android.notetakingapplication/files/Pictures"/>
</paths>

第 2 部分)如果我保持 provider_paths 为这个

 <?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path name="external_files" path="."/>
</paths>

我可以打开相机应用程序,拍照并在同一页面上查看它,但是,问题是,我正在将路径存储到数据库中并尝试检索页面上的所有图像。这是它给出错误的时间:

Unable to decode stream: java.io.FileNotFoundException: /external_files/Pictures/NoteTaking/IMG_20170226_230608.jpg (No such file or directory)

最佳答案

一定要试试这个:

Uri mImageCaptureUri;
private void operCamera() {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

mImageCaptureUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(),
"tmp_avatar_" + String.valueOf(System.currentTimeMillis()) + ".jpg"));

intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, mImageCaptureUri);

intent.putExtra("return-data", true);

startActivityForResult(intent, 1);
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1 && mImageCaptureUri != null && resultCode != 0) {
if (mImageCaptureUri != null) {
String path1 = mImageCaptureUri.getPath();
if (path1 != null) {
File file1 = new File(path1);
Uri capturedUri = Uri.fromFile(file1);//here you get the URI
//you can easily get the path from URI if you need
}
}
}
}

关于android - 尝试拍照时找不到包含/storage/emulated/0/Pictures/NoteTaking/IMG_20170226_231007.jpg 的已配置根目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42479938/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com