浏览选择图片/音频/视频&启动程序让其他程序进行选择

原创 2012年03月21日 13:53:15

(1)如果你需要通过浏览去选择一个你需要的Pic/Music/Video:

//触发代码
 Intent intent = new Intent();  
 intent.setType(“image/*”); //audio/* video/*
 intent.setAction(Intent.ACTION_GET_CONTENT);  
 startActivityForResult(intent, 1);  
//得到返回值,并通过url获取真实路径的方法:重写Activity中的方法
@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		if (requestCode == 1) {
			if (resultCode == RESULT_OK) {
				Uri uri = data.getData(); // uri=content://media/external/video/media/804
				Cursor cursor = managedQuery(uri,null,null,null,null);
				int index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
				cursor.moveToFirst();
				String path = cursor.getString(index); //path=/mnt/sdcard/mediadump/sample.mp4
			}
		}
		super.onActivityResult(requestCode, resultCode, data);
	}

(2)如果你做的是一个Photo/Music/Video程序,能通过Intent.ACTION_GET_CONTENT过滤器启动程序以供程序进行选择:

1)在AndroidManifest.xml中添加如下过滤器

<intent-filter>
  <action android:name="android.intent.action.GET_CONTENT" />
   <category android:name="android.intent.category.OPENABLE" />
   <category android:name="android.intent.category.DEFAULT" />
   <data android:mimeType="image/*" />
   <data android:mimeType="video/*" />
</intent-filter>
这样当另一个程序需要选择视频or图片时,就是提示你是否选择你的程序

2)在代码中添加返回值,一般添加在Click动作的Listener中,点击是获取点击项目触发,代码如下:

if (mActivity.getIntent().equals(Intent.ACTION_GET_CONTENT)) {
     Intent result = new Intent().setData(mList.get(pos).getContentUri());
     mActivity.setResult(Activity.RESULT_OK, result);
     mActivity.finish();
}//其中mActivity指的是你的MainActivity
*********************************************一些相关知识的拓****************************************************
(1)Intent.ACTION_PICK  Intent.ACTION_GET_CONTENT都可以实现类似的功能,通过查看源码和注释,

Intent.ACTION_PICK 主要用于向下兼容 / Intent.ACTION_GET_CONTENT 支持使用

通过Intent.ACTION_PICK获取联系人的示例代码

Intent intent = new Intent(Intent.ACTION_PICK, People.CONTENT_URI);
startActivityForResult(intent, PICK_CONTACT);
@Override
public void onActivityResult(int reqCode, int resultCode, Intent data){ 
 super.onActivityResult(reqCode, resultCode, data); 
 switch (reqCode) {
 case (PICK_CONTACT) :     
 if (resultCode == Activity.RESULT_OK) {       
 Uri contactData = data.getData();       
 Cursor c =  managedQuery(contactData, null, null, null, null);       
 if (c.moveToFirst()) {         
 String name = c.getString(c.getColumnIndexOrThrow(People.NAME));         
 }}     
 break; 
 }}

Android 打开相册选择 照片、音频、视频

Button click event:Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Video....
  • qq_15364915
  • qq_15364915
  • 2016年08月17日 15:35
  • 2694

微信小程序基础之媒体(图片,音频,视频)和地图的使用

好久没有写过关于微信小程序的Demo了,今天向大家展示的关于媒体(图片,音频,视频)和地图的使用方法,希望对大家有所帮助,不喜勿喷,谢谢~代码中都有必要的文字注释,部分代码如下:图片:    Imag...
  • hbblzjy
  • hbblzjy
  • 2017年01月20日 16:02
  • 1101

微信小程序选择图片和预览图片

作者>:燕潇洒 视频中,老师也是看着官方文档,为学生们讲解,微信提供了系统的方法来选择图片.wx.chooseImage此方法是用来选择图片的方法,具体使用如下: data: { avatar...
  • yanxiaosa
  • yanxiaosa
  • 2017年05月31日 08:56
  • 9180

Ubuntu 程序 音频输出选择 设备进行播放

像windowns一样管理音频输出,可以实现多音频设备选择输出,可以在连接电视、skype、蓝牙耳机等应用。...
  • zggzcgy
  • zggzcgy
  • 2017年01月29日 19:06
  • 1704

Android在程序中启动拍照/摄像或选择一张图片/视频,并制作缩略图后保存

有时候我们需要选择一个图片来做头像或是上传到相册中,这时候我们可以选择启动相机拍照,或者从图库中选择。 首先看看如何启动相机拍照并取得所拍的照片。 下面是启动相机拍照并返回所拍的照片的代码: ...
  • u014634819
  • u014634819
  • 2014年04月11日 17:52
  • 268

Android在程序中启动拍照/摄像或选择一张图片/视频,并制作缩略图后保存

有时候我们需要选择一个图片来做头像或是上传到相册中,这时候我们可以选择启动相机拍照,或者从图库中选择。 首先看看如何启动相机拍照并取得所拍的照片。 下面是启动相机拍照并返回所拍的照片的代码: ...
  • assassin4824
  • assassin4824
  • 2012年07月20日 15:08
  • 4979

android如何浏览并选择图片、音频 、视频

选择按钮的代码 // 选取图片按钮单击事件 public void click_xuanqutupian(View source) { Intent intent = new Intent...
  • yuanbieli
  • yuanbieli
  • 2011年09月10日 22:21
  • 9329

6用OpenCV编写的一个用来检测人脸的程序,可输入图片或者视频文件,也可打开摄像头进行实时检测

  • 2014年03月13日 00:40
  • 342KB
  • 下载

Android关于本地多媒体(图片、视频、音频)Media的选择总结

Android关于本地多媒体(图片、视频、音频)Media的选择总结
  • feiyangbahu1
  • feiyangbahu1
  • 2017年04月19日 11:19
  • 546

ios多媒体使用(音频视频播放,录音,音乐图片选择,图片滤镜(做旧模糊处理))

  • 2016年03月22日 22:59
  • 4.19MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:浏览选择图片/音频/视频&启动程序让其他程序进行选择
举报原因:
原因补充:

(最多只允许输入30个字)