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);

这种方法有时候会显示不出来,原因是,程序的运行的时候,检测到本机有多个音乐或者图片的总体类型,它识别不了。
原文地址:https://www.cnblogs.com/linguanh/p/4431776.html