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

原创 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在程序中启动拍照/摄像或选择一张图片/视频,并制作缩略图后保存

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

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

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

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

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

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

选择按钮的代码 // 选取图片按钮单击事件 public void click_xuanqutupian(View source) { Intent intent = new Intent...

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

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

Windows Mobile常用程序代码(串口、图象、网络、3D、数据库、音频视频等等)

Windows Mobile常用程序代码(串口、图象、网络、3D、数据库、音频视频等等)
  • cpcpc
  • cpcpc
  • 2011年02月24日 13:47
  • 9583

android 图片选择,可选择图片,视频,音频,文件,方便扩展

AndroidFilePickerandroid file picker ,you can choose image,video,file,etc.. Image selector library ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:浏览选择图片/音频/视频&启动程序让其他程序进行选择
举报原因:
原因补充:

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