android让用户选择程序打开,如何允许用户浏览/选择我在Android中使用应用的文件?...

使用Intent.ACTION_GET_CONTENT为用户启动活动以选择所需的媒体类型.要选择图像,您可能需要MIME类型“image / *”.您还希望将其包装在一个选项中,因为通常会有多个内容源供用户选择(例如,他们可以浏览图库,或者可以在那时拍照,或者如果是的话可以使用通用文件浏览器安装等).

这是一些粗略的代码,可能是错误的,因为我只是在这里写出来:

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);

intent.setType("image/*");

// Do this if you need to be able to open the returned URI as a stream

// (for example here to read the image data).

intent.addCategory(Intent.CATEGORY_OPENABLE);

Intent finalIntent = Intent.createChooser(intent, "Select profile picture");

startActivityForResult(finalIntent, IMAGE_SELECTED);

当用户选择了某些内容时,您将在onActivityResult()中获得选择.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用以下代码来设置Android应用程序的过滤文件类型: ```java Intent intent = new Intent(); intent.setType("application/pdf"); // 设置过滤类型,这里以PDF为例 intent.setAction(Intent.ACTION_GET_CONTENT); intent.addCategory(Intent.CATEGORY_OPENABLE); startActivityForResult(Intent.createChooser(intent, "Select PDF"), REQUEST_CODE); ``` 在这个例子,我们设置了过滤文件类型为PDF。您可以将其替换为您想要过滤的其他文件类型。此外,我们还使用`addCategory(Intent.CATEGORY_OPENABLE)`方法来确保只显示可以打开文件,而不是其他应用程序文件。 如果您想禁用浏览其他应用程序文件,您可以使用`PackageManager`类的`setComponentEnabledSetting()`方法来禁用文件浏览器应用程序的组件。您需要知道文件浏览器应用程序的包名和组件名。以下是一个示例代码: ```java ComponentName componentName = new ComponentName("com.android.documentsui","com.android.documentsui.files.FilesActivity"); getPackageManager().setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); ``` 在这个例子,我们禁用了名为“com.android.documentsui.files.FilesActivity”的组件,该组件属于文件浏览器应用程序的包“com.android.documentsui”。请注意,这种方法可能会破坏用户的预期,并且可能会导致您的应用用户卸载,因此请谨慎使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值