我正在使用此帖https://stackoverflow.com/a/20559175/2281821中的文件助手类,但在每种情况下都无法正常工作。我正在使用Local Git
启动文件选择器。我有Android Nougat,我从onActivityResult uri收到:Intent chooseIntent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
这content://com.android.externalstorage.documents/document/home%3Aimage.png
意味着什么?如何访问此文件?我正在尝试使用home:
和Environment.getExternalStorageDirectory()
,但我无法接受。
答案 0 :(得分:0)
以下代码可用于获取文档路径:
Intent galleryIntent = new Intent();
galleryIntent .setType("image/*");
galleryIntent .setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(galleryIntent , getString(R.string.app_name)),REQUEST_CODE);
OnActivityResult():
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
if (requestCode == REQUEST_CODE) {
Uri uri = data.getData();
}
}
}
您可以使用“uri”变量值来获取位图。如果您还想打开其他图像,请删除以下行:
galleryIntent .setType("image/*");
答案 1 :(得分:0)
您可以通过在uri上打开一个InputStream来访问内容方案。
InputStream is = getContentResolver().openInputStream(uri);
BitmapFactory.decodeFromStream(是)将很乐意从您的信息流中读取。