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

 button.setOnClickListener(new OnClickListener() {

             public void onClick(View arg0) {
//get a picture form your phone
Intent photoPickerIntent = new Intent(Intent.ACTION_GET_CONTENT);
photoPickerIntent.setType("image/*");
//intent.setType(“image/*”);
//下面三个如果在 ACTION_PICK 下没效,就用ACTION_GET_CONTENT,这个会提示你用那个软件打开
//intent.setType(“audio/*”); //选择音频 //intent.setType(“video/*”); //选择视频 (mp4 3gp 是android支持的视频格式) //intent.setType(“video/*;image/*”);//同时选择视频和图片
startActivityForResult(Intent.createChooser(photoPickerIntent, "Select"),1);
}
});

对于上述的最后一行:

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

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

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

还一种方法是,默认的直接打开:
startActivityForResult(photoPickerIntent,1);
这种方法有时候会显示不出来,原因是,程序的运行的时候,检测到本机有多个音乐或者图片的总体类型,它识别不了。

android 如何获取手机的图片、视频、音乐的更多相关文章

  1. 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)

    众所周知,通过PackageManager可以获取手机端已安装的apk文件的信息,具体代码如下 PackageManager packageManager = this.getPackageManag ...

  2. android如何获取手机型号和版本号

    public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView ...

  3. Android编程获取手机的IMEI

    手机在生产时,每部手机均有一个唯一的标识(ID),国际上采用国际移动设备身份码(IMEI, International Mobile Equipment Identity).IMEI是由15位数字组成 ...

  4. Android中获取手机电量信息

    有些时候我们需要在我们的应用上为用户展示当前手机的电量,这时候我们就需要用到广播了,我们都知道在动态注册广播的时候,我们需要传入一个BroadcastReceiver类对象,还有一个意图过滤器Inte ...

  5. Android之——获取手机安装的应用程序

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47114331 前几篇有关Android的博文中.向大家介绍了几个项目中经常使用的有 ...

  6. android平台获取手机IMSI,IMEI ,序列号,和 手机号的方法

    1)获取运营商sim卡imsi号, String IMSI =android.os.SystemProperties.get( android.telephony.TelephonyPropertie ...

  7. Android编程获取手机型号,本机电话号码,sdk版本号及firmware版本号号(即系统版本号号)

    Android开发平台中,可通过TelephonyManager 获取本机号码. TelephonyManager phoneMgr=(TelephonyManager)this.getSystemS ...

  8. react-native中显示手机本地图片/视频

    已知文件路径'/data/user/0/com.ycdj/files/media/218787782/efa1d12f22d2/1235.jpg' 只需在路径前面拼上file:///即可,如: < ...

  9. [Android Pro] 获取手机已经安装的应用 和 获取当前正在运行的所有进程(一个uid对应多个pid)

    1: 获取PackageManager 获取全部静态已安装的应用: PackageManager pm = getPackageManager(); List<PackageInfo> i ...

随机推荐

  1. DBUtils 笔记

    一.DBUtils介绍  apache 什么是dbutils,它的作用 DBUtils是java编程中的数据库操作实用工具,小巧简单实用. DBUtils封装了对JDBC的操作,简化了JDBC操作.可 ...

  2. FastReport.Net 常用功能总汇

    一.常用控件 文本框:输入文字或表达式 表格:设置表格的行列数,输入数字或表达式 子报表:放置子报表后,系统会自动增加一个页面,你可以在此页面上设计需要的报表.系统在打印处理时,先按主报表打印,当碰到 ...

  3. 四则运算项目git统计

    GitHub统计 1.Git文档目录 图 1文档结构预览 2.Git提交进度图 图 2 9月12日-10月3日 图 3 10月3日-10月14日 图 4 10月14日-10月21日 图 5 10月21 ...

  4. 第一章-第十四题(Hello world程序)

    题目:请找一个同学结对 (参看本书结对编程的内容),两人共同工作 (不能分开干活),从上面的列表中选取两个平台,在每个平台上,写一个最简单的 "Hello World" 类型的程序 ...

  5. IEEE/ACM ASONAM 2014 Industry Track Call for Papers

    IEEE/ACM International Conference on Advances in Social Network Analysis and Mining (ASONAM) 2014 In ...

  6. PostgreSQL 9.3发布

    9月9日,PostgreSQL全球开发组宣布了9.3版发布的消息.从2010年9.0版开始,PostgreSQL已经连续四个版本稳定地按时在每年9月中旬发布,从一个侧面也显示了开发团队的强大实力. 9 ...

  7. ABP理论学习之多租户

    返回总目录 本篇目录 什么是多租户 ABP中的多租户 什么是多租户 维基百科:"软件多租户是指一种软件架构,在这种软件架构中,软件的一个实例运行在服务器上并且为多个租户服务".一个 ...

  8. HTML5- Canvas入门(四)

    前几章我们学习了矩形.多边形.圆形.曲线等图形的绘制,今天来学习下更简单一些的文本绘制及其各种功能方法. 在canvas中我们可以通过 strokeText() 和 fillText() 来绘制描边文 ...

  9. ReactJS入门(四)—— 组件API

    本篇将介绍 React 组件的API,其中主要的几个API我们在第一篇的时候便已介绍过,这里可以做个温故知新. 本篇的代码你也可以在我的Github上获取到. setState 参数: nextSta ...

  10. 探索c#之递归APS和CPS

    接上篇探索c#之尾递归编译器优化 累加器传递模式(APS) CPS函数 CPS变换 CPS尾递归 总结 累加器传递模式(Accumulator passing style) 尾递归优化在于使堆栈可以不 ...