android 如何获取手机的图片、视频、音乐

 

在android 开发中,很多时候,我们会需要调用到用户本机的照片、视频或者是音乐让用户选择,来进行我们APP对应的操作。

复制代码
 1 button.setOnClickListener(new OnClickListener() {
 2 
 3             public void onClick(View arg0) {
 4                 //get a picture form your phone
 5                 Intent photoPickerIntent = new Intent(Intent.ACTION_GET_CONTENT);
 6                 photoPickerIntent.setType("image/*");
 7                 //intent.setType(“image/*”);
 8                 //下面三个如果在 ACTION_PICK 下没效,就用ACTION_GET_CONTENT,这个会提示你用那个软件打开
 9                 //intent.setType(“audio/*”); //选择音频
10 
11                 //intent.setType(“video/*”); //选择视频 (mp4 3gp 是android支持的视频格式)
12 
13                 //intent.setType(“video/*;image/*”);//同时选择视频和图片
14                 startActivityForResult(Intent.createChooser(photoPickerIntent, "Select"),1);
15             }
16         });
复制代码

对于上述的最后一行:

startActivityForResult(Intent.createChooser(photoPickerIntent, "Select"),1);

使用 createChooser()打开的好处是,程序会自动弹出一个对话框,对话框的名字可以自己设置,我demo 里设置的是 Select,弹出的这个框,作用是让用户选择,基于本机手机已经安装了的,能够打开当前文件的 应用。

举个例子,我要打开音乐,而我手机 同时 有 天天动听 和酷狗,那么它就会提示我,用酷狗还是天天动听。

还一种方法是,默认的直接打开:
startActivityForResult(photoPickerIntent,1);

这种方法有时候会显示不出来,原因是,程序的运行的时候,检测到本机有多个音乐或者图片的总体类型,它识别不了。
posted @   指尖下的幽灵  阅读(1085)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示