【问题标题】:android get the full path of selected fileandroid获取所选文件的完整路径
【发布时间】:2015-09-13 20:36:04
【问题描述】:

您好,我正在编写一个应用程序,当用户长按或选择一个文件(任何类型的带有或不带扩展名的文件)时,它应该出现在共享列表中,并且我的应用程序应该包含详细信息(我认为是 URI)并且应该能够将其转换为绝对路径。

例如,如果用户通过长按或选择启用共享选项来选择图像文件,我能够显示我的应用程序。

当我在我的应用程序中将 URI 打印为 toast 时,它会显示类似“content://media...../24”的路径,这不是绝对路径。

我已经经历了很多选择,但我还没有清楚地知道如何获得绝对路径。我的应用应该支持 4.0 以上版本。

需要关注 1. 能够在我的应用程序中收集输入并将其转换为绝对路径(如文件资源管理器中所示)

  1. 如果用户选择一个文件夹,我应该可以实现和1一样。

  2. 一旦我实现了这一点,我应该再次显示为列表条目。在选择条目时,它应该允许显示可用应用程序列表以便打开路径。

【问题讨论】:

    标签: image file path


    【解决方案1】:

    你可以这样试试

    @Override
            protected void onActivityResult(int requestCode, int resultCode, Intent data) {
                super.onActivityResult(requestCode, resultCode, data);
            int RESULT_LOAD_IMAGE = 1;
            if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK
                    && null != data) {
                Uri selectedFile = data.getData();
    
            String wholeID =DocumentsContract.getDocumentId(selectedFile);
    
            // Split at colon, use second item in the array
            String id = wholeID.split(":")[1];
    
            String[] column = { MediaStore.Images.Media.DATA };
    
            // where id is equal to
            String sel = MediaStore.Images.Media._ID + "=?";
    
            Cursor cursor = getContentResolver().
                    query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,column, sel, new String[]{ id }, null);
    
            String filePath = "";
    
            int columnIndex = cursor != null ? cursor.getColumnIndex(column[0]) : 0;
    
            if (cursor != null && cursor.moveToFirst()) {
                filePath = cursor.getString(columnIndex);
            }
            if (cursor != null) {
                cursor.close();
            }
            File file = new File(filePath);
        }
    

    【讨论】:

      猜你喜欢
      • 2021-12-08
      • 1970-01-01
      • 1970-01-01
      • 2013-07-08
      • 1970-01-01
      • 1970-01-01
      • 2011-10-05
      • 2016-03-31
      • 2012-10-19
      相关资源
      最近更新 更多