你好我的伙伴stackoverflows,

我正在编写一个应用程序,我在其中实现了一个处理共享意图的Activity.

到目前为止它工作正常但在测试期间我遇到了Quickoffice(Android 4.4,KitKat)的问题,

因为它返回一个我无法从中获取文件名的URI.我还尝试与其他应用程序共享,如Dropbox,它在那里工作.

我从Qickoffice应用程序获得的确切URI:

content://com.quickoffice.android.quickcommon.FileContentProvider/5cmeDeeatcdv8IFyu-bEr2w1jSHrvPmCzXGb_VvZulMBErE5Tmfd_5P5kckE68LaEYDVSp3q5r19%0A4sOkpYCEM_VqK6Y%3D%0A

这是我先使用的代码:

public String getRealPathFromURI(Uri contentUri) {

Cursor cursor = null;

try {

String[] proj = {MediaStore.Images.Media.DATA}; // = "_data"

ContentResolver cr = getContentResolver();

cursor = cr.query(contentUri, proj, null, null, null); //

int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);

cursor.moveToFirst();

return cursor.getString(column_index);

} catch (Exception exception) {

Log.d("clixend", "Exception: " + exception);

Toast.makeText(this, "Exception: " + exception, Toast.LENGTH_LONG).show();

} finally {

if (cursor != null) {

cursor.close();

}

}

return null;

}

我收到以下错误的地方:

09-23 16:54:17.664 32331-32341/? E/DatabaseUtils﹕ Writing exception to parcel

java.lang.UnsupportedOperationException: Unsupported column: _data

at com.google.android.apps.docs.quickoffice.FileContentProvider.query(FileContentProvider.java:78)

at android.content.ContentProvider.query(ContentProvider.java:857)

at android.content.ContentProvider$Transport.query(ContentProvider.java:200)

at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:112)

at android.os.Binder.execTransact(Binder.java:404)

at dalvik.system.NativeStart.run(Native Method)

public String getNameKitkat(Uri contentUri) {

Cursor cursor = getContentResolver()

.query(contentUri, null, null, null, null, null); //

try {

if (cursor != null && cursor.moveToFirst()) {

String displayName = cursor.getString(

cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));

return displayName;

}

} finally {

cursor.close();

}

return null;

}

但我也收到错误代码:

09-23 16:49:43.317 32331-32421/? E/DatabaseUtils﹕ Writing exception to parcel

java.lang.IllegalArgumentException: columnNames.length = 4, columnValues.size() = 2

at android.database.MatrixCursor.addRow(MatrixCursor.java:157)

at android.database.MatrixCursor.addRow(MatrixCursor.java:128)

at com.google.android.apps.docs.quickoffice.FileContentProvider.query(FileContentProvider.java:95)

at android.content.ContentProvider.query(ContentProvider.java:857)

at android.content.ContentProvider$Transport.query(ContentProvider.java:200)

at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:112)

at android.os.Binder.execTransact(Binder.java:404)

at dalvik.system.NativeStart.run(Native Method)

如果有人知道如何从我从Quickoffice获得的URI中获取名称,我将非常感激.

java saf_java – 从SAF内容URI中提取文件名相关推荐

  1. Java正则工具类从地址中提取省市区

    Java正则工具类从地址中提取省市区 最近有个需求,从一串地址中提取出省市区,然后开始寻找解决方案,最终通过网上一些正则,再加上自己改动的,貌似弄成一个比较匹配的工具类,其中代码如下,有需要的可以参考 ...

  2. python批量读取文件名_python - 从路径中提取文件名,无论os / path形式如何

    python - 从路径中提取文件名,无论os / path形式如何 无论操作系统或路径格式是什么,我可以使用哪个Python库从路径中提取文件名? 例如,我想要所有这些路径返回c: a/b/c/ a ...

  3. linux 脚本 提取文件名,powershell-从路径中提取文件名

    powershell-从路径中提取文件名 我想从以下路径中提取文件名: D:\Server\User\CUST\MEA\Data\In\Files\CORRECTED\CUST_MEAFile.csv ...

  4. Java使用ffmpeg实现从视频中提取音频 (mp4、mp3)

    /*** 从视频中提取音频*/@Testpublic void videoGetMp3(){// 提取命令String commit = "$0 -i $1 -ss 00:00:01 -t ...

  5. cryptico.js java解密_從Cryptico.js中提取RSA私鑰

    我相信這是一個非常基本的問題,但我開始使用JavaScript和RSA進行研究,所以我有點失落.我剛剛下載了Cryptico庫,它爲我提供了一個易於使用的RSA密鑰生成/加密/解密.從Cryptico ...

  6. 从指定URL中提取文件名

    通过String对象的replace()方法实现,该方法用于替换一个与正则表达式匹配的子串,该方法的替换字符串可以包含$字符 URL是否正确的正则表达式为: //验证URL是否正确的正则表达式var ...

  7. python从文件路径中提取文件名、所在文件夹

    需求 有的时候我们想从文件路径中提取出包含扩展的文件名,有的时候需要不包括扩展的文件名,还有的时候想要获取文件所在目录,在python中如何快速实现呢? 实现 我们有如下路径 D:\Worksheet ...

  8. linux 获取文件名函数,Linux shell中提取文件名和路径

    前言 有个软件叫HLAreporter,它真的搞人,基本上就是shell脚本联合起来的,关键是居然还有各种小问题,其中之一就是关于文件名和目录名这个,导致程序只能在软件本身的目录运行,然后各种bug, ...

  9. PHP字符串中提取文件名的实例方法

    第一种: 获取不带后缀的文件名,直接上代码: 就是直接用basename()函数就可以返回路径中的文件名部分,其语法是"basename(path,suffix)",其中参数suf ...

最新文章

  1. Java线程:新特征-条件变量(转)
  2. Ajax.net显示错误信息
  3. OpenCV透视变换应用于图像的实例(附完整源代码)
  4. PRML-系列二之2.3
  5. 通信感知一体化(ISAC)概述
  6. 钽电容技术参数及封装
  7. HTML段落前面怎么加黑点,Word文档段落前面的那个小黑点,是怎么搞出来得呀?...
  8. Word标题不显示目录数字章节
  9. Matlab中不定积分和定积分的实现
  10. 朋友圈发布时间(Date、DateFormat、Calendar)
  11. linux 将当前时间往后调整2分钟_linux调整系统时间 永久 z | 学步园
  12. redis发布/订阅模式
  13. nginx根据项目名实现内网地址转发
  14. Android开发之百度地图定位打卡
  15. [HDU5873] [2016亚洲区域赛大连网络赛] Football Games [构造][兰道定理]
  16. 利用Python进行数据分析(Ⅴ)
  17. 中英文互译在线翻译-在线翻译软件
  18. 【“探索者”小车】机器人大赛“探索者”全地形小车参赛经验分享
  19. 【CSS技巧】文字分散对齐的方法
  20. quantenna测试RF射频性能简单说明

热门文章

  1. GeoTools读取Tiff文件
  2. matlab中累加的小程序,微信小程序学习用demo:数字累加,动态效果
  3. 561. Array Partition I
  4. android模拟器与pc,模拟器与模拟之间用socket进行通信和获得模拟器ip地址程序
  5. 【服务器搭建个人网站】教程三:怎样购买域名并怎样进行域名解析 来啦
  6. 数据库分区概念及简单运用
  7. JS数据类型-mdn
  8. 【ASP.Net】上传图片+水印
  9. linux 访问windows [ 用于sourceinsight 在windows 访问linux smba时候反应慢的问题]
  10. 《乘风破浪的姐姐》来啦!让我们用数据分析谁能最终成团