Android FileChooser的存储路径如何设置

   2024-09-30 3820
核心提示:在 Android 中,FileChooser 的存储路径可以通过 Intent 来设置。以下是一个简单的示例,展示了如何使用 FileChooser 选择一个文

在 Android 中,FileChooser 的存储路径可以通过 Intent 来设置。以下是一个简单的示例,展示了如何使用 FileChooser 选择一个文件并指定存储路径:

首先,在 AndroidManifest.xml 文件中添加读取外部存储的权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
然后,在你的 Activity 或 Fragment 中创建一个方法来启动 FileChooser:
private static final int FILE_PICK_REQUEST_CODE = 1;private void openFileChooser() {    Intent intent = new Intent(Intent.ACTION_GET_CONTENT);    intent.setType("*/*");    intent.addCategory(Intent.CATEGORY_OPENABLE);    intent.putExtra(Intent.EXTRA_LOCAL_ONLY, true);    try {        startActivityForResult(                Intent.createChooser(intent, "选择文件"),                FILE_PICK_REQUEST_CODE);    } catch (android.content.ActivityNotFoundException ex) {        Toast.makeText(this, "请安装文件管理器", Toast.LENGTH_SHORT).show();    }}
接下来,重写 onActivityResult 方法以处理 FileChooser 的结果:
@Overrideprotected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {    super.onActivityResult(requestCode, resultCode, data);    if (requestCode == FILE_PICK_REQUEST_CODE && resultCode == RESULT_OK && data != null) {        Uri uri = data.getData();        if (uri != null) {            // 获取到文件的 Uri,可以根据需要进行处理            String filePath = getPathFromUri(this, uri);            // 使用 filePath 进行相应操作        }    }}
最后,实现一个辅助方法 getPathFromUri 来获取文件的路径:
public String getPathFromUri(Context context, Uri uri) {    String[] projection = { MediaStore.Images.Media.DATA };    Cursor cursor = null;    try {        cursor = context.getContentResolver().query(uri, projection, null, null, null);        if (cursor != null && cursor.moveToFirst()) {            int columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);            return cursor.getString(columnIndex);        }    } finally {        if (cursor != null) {            cursor.close();        }    }    return null;}

现在,当你调用 openFileChooser() 方法时,将会弹出一个文件选择器,用户可以从中选择一个文件。所选文件的路径将通过 onActivityResult 方法返回。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号