android – 从Intent.ACTION_GET_CONTENT到文件的URI

android – 从Intent.ACTION_GET_CONTENT到文件的URI,第1张

概述>使用Intent.ACTION_GET_CONTENT启动照片选择器 >检索所选项目的URI >检索URI的PATH,以便我可以将其发布到我的网络服务器 用于启动浏览的代码 Intent intent = new Intent(Intent.ACTION_GET_CONTENT);intent.setType("image/*");startActivityForResult(intent, >使用Intent.ACTION_GET_CONTENT启动照片选择器
>检索所选项目的URI
>检索URI的PATH,以便我可以将其发布到我的网络服务器

用于启动浏览的代码

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);intent.setType("image/*");startActivityForResult(intent,broWSE_IMAGE_REQUEST_CODE);

用于检索所选图像的代码

if (RESulT_OK == resultCode &&             broWSE_IMAGE_REQUEST_CODE == requestCode) {Uri uri = data.getData();

要发送到网络服务器的代码

file file = new file(uri.getPath());new FileSystemResourcefile(file);

我目前能够从URI中检索PATH没有prob / external / images / media / 24但是由于一些奇怪的原因,文件总是为空,请帮忙吗?

解决方法 我已经完成了这个方法,将Uri从Intent.ACTION_GET_CONTENT转换为实际路径:
public static String getRealPathFromUri(Activity activity,Uri contentUri) {    String[] proj = { MediaStore.Images.Media.DATA };    Cursor cursor = activity.managedquery(contentUri,proj,null,null);    int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);    cursor.movetoFirst();    return cursor.getString(column_index);}

然后转换为文件:

Uri filePathFromActivity = (Uri) extras.get(Intent.EXTRA_STREAM);filePathFromActivity = Uri.parse(fileUtil.getRealPathFromUri( (Activity) IntentActivity.this,filePathFromActivity));file imagefile = new file(filePathFromActivity.getPath());
总结

以上是内存溢出为你收集整理的android – 从Intent.ACTION_GET_CONTENT到文件的URI全部内容,希望文章能够帮你解决android – 从Intent.ACTION_GET_CONTENT到文件的URI所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1134756.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存