从OneDrive Content Uri中检索文件名和大小

时间:2014-09-29 07:31:57

标签: android uri onedrive

if (fileUri.getScheme().equals(ContentResolver.SCHEME_CONTENT)) 
{
            Cursor cursor = getApplicationContext().getContentResolver().query(
                    fileUri, 
                    new String[] { android.provider.MediaStore.Images.ImageColumns.DISPLAY_NAME }, 
                    null, 
                    null, 
                    null);         
            cursor.moveToFirst();   
            fileName = cursor.getString(0);
            cursor.close();
}

我正在使用此代码块来检索Content Uri的名称和大小,到目前为止,它适用于所有提供Content Uri的云存储应用程序(OneDrive,Dropbox,Google Drive,框)。

在OneDrive最新更新(版本2.7.0)之后启动了问题,该更新添加了使用存储访问框架打开文件的选项。当您通过Intent Chooser(" Open From")在Nexus设备上选择文件时,OneDrive应用程序会出现两次(请参阅sattached屏幕截图): https://www.dropbox.com/s/klu11xc8mqi1acu/Screenshot_2014-09-28-11-49-34.png?dl=0

从"鞋帮"中选择任何文件。 OneDrive将返回内容Uri 文件大小始终为0,文件名始终是URI本身。 但是,从" lower"中选择任何文件。 OneDrive将返回一个File Uri(缓存) 文件大小和名称是正确的。

非常感谢任何帮助。

0 个答案:

没有答案