在android studio中获取文件的位置

时间:2017-04-20 06:55:01

标签: java android android-intent

我试图使用intent在文件资源管理器中选择一个文件。 这是我的代码:

  Intent intent = new Intent();

            intent.setAction(intent.ACTION_GET_CONTENT);
            intent.setType("*/*");
            intent.addCategory(Intent.CATEGORY_OPENABLE);
            startActivityForResult(Intent.createChooser(intent, "Select a File to Upload"), FILE_SELECT_CODE );

它工作正常并选择一个文件,但我需要获取所选文件的位置。我该怎么办?

2 个答案:

答案 0 :(得分:0)

选择文件后,将自动调用此方法。

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) {
            Uri filePath = data.getData();
        }
    }

答案 1 :(得分:0)

试试这个 它会给你位图

Bitmap bm = null;
        if (data != null) {
            try {
                bm = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), data.getData());
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

此处data.getData()为您提供了uri