import java.io.IOException;import android.app.Activity;import android.content.ContentResolver;import android.database.Cursor;import android.media.ExifInterface;import android.os.Bundle;import android.provider.MediaStore;public class MainActivity extends Activity {    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        //测试1        //getVideosInfo();        //测试2        //getPhotosInfo();        //测试3        getAudiosInfo();    }        //获取设备上所有的视频信息private void getVideosInfo() {ContentResolver contentResolver=getContentResolver();String [] videoColumns=new String[]{MediaStore.Video.Media._ID,MediaStore.Video.Media.DATA,MediaStore.Video.Media.TITLE,MediaStore.Video.Media.MIME_TYPE};//      两种方法均可//Cursor cursor=//    this.managedQuery(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, mediaColumns, null, null, null);Cursor cursor=contentResolver.query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, videoColumns, null, null, null);while (cursor.moveToNext()) {String _id=cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media._ID));String filePath=cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DATA));String title=cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.TITLE));String mime_type=cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.MIME_TYPE));    System.out.println("_id="+_id);    System.out.println("title="+title);    System.out.println("filePath="+filePath);    System.out.println("mime_type="+mime_type);}} //获取设备上所有的照片信息 private void getPhotosInfo() {ContentResolver contentResolver=getContentResolver();String [] photoColumns=new String[]{MediaStore.Images.Media._ID,MediaStore.Images.Media.DATA,MediaStore.Images.Media.TITLE,MediaStore.Images.Media.MIME_TYPE,MediaStore.Images.Media.SIZE,MediaStore.Images.Media.ORIENTATION};//      两种方法均可//Cursor cursor=//    this.managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, mediaColumns, null, null, null);Cursor cursor=contentResolver.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, photoColumns, null, null, null);while (cursor.moveToNext()) {String _id=cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media._ID));String filePath=cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA));String title=cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.TITLE));String mime_type=cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.MIME_TYPE));String size=cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.SIZE));//得到照片旋转角度方法一String orientation0=cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.ORIENTATION));    System.out.println("_id="+_id);    System.out.println("size="+size);    System.out.println("title="+title);    System.out.println("filePath="+filePath);    System.out.println("mime_type="+mime_type);    System.out.println("第一处 orientation0="+orientation0);    try {ExifInterface exifInterface=new ExifInterface(filePath);String image_length=exifInterface.getAttribute(ExifInterface.TAG_IMAGE_LENGTH);String image_width=exifInterface.getAttribute(ExifInterface.TAG_IMAGE_WIDTH);String orientation1=exifInterface.getAttribute(ExifInterface.TAG_ORIENTATION);String dateTime=exifInterface.getAttribute(ExifInterface.TAG_DATETIME);System.out.println("image_length="+image_length);System.out.println("image_width="+image_width);System.out.println("dateTime="+dateTime);//得到照片旋转角度方法二//应该结合ExifInterface源码分析.//此处有待于进一步分析和验证switch (Integer.valueOf(orientation1)) {case 1:System.out.println("第二处旋转角度="+0);break;case 2://matrix.invert(matrix);break;case 3://matrix.setRotate(180);System.out.println("第二处旋转角度="+180);break;case 4://matrix.invert(matrix);//matrix.setRotate(180);System.out.println("第二处旋转角度="+180);break;case 5://matrix.setRotate(90);//matrix.invert(matrix);System.out.println("第二处旋转角度="+90);break;case 6://matrix.setRotate(90);System.out.println("第二处旋转角度="+90);break; case 7: //matrix.invert(matrix);//matrix.setRotate(90);System.out.println("第二处旋转角度="+90);break;    case 8://matrix.setRotate(270);System.out.println("第二处旋转角度="+270);break;default: break;}System.out.println("XXXXXXXXXXXXXXXXXXX");} catch (IOException e) {e.printStackTrace();}}  }  //获取设备上所有的音频信息 private void getAudiosInfo() {ContentResolver contentResolver=getContentResolver();String [] audioColumns=new String[]{MediaStore.Audio.Media._ID,MediaStore.Audio.Media.DATA,MediaStore.Audio.Media.TITLE,MediaStore.Audio.Media.MIME_TYPE};//      两种方法均可//Cursor cursor=//    this.managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, mediaColumns, null, null, null);Cursor cursor=contentResolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, audioColumns, null, null, null);while (cursor.moveToNext()) {String _id=cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media._ID));String filePath=cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA));String title=cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.TITLE));String mime_type=cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.MIME_TYPE));    System.out.println("_id="+_id);    System.out.println("title="+title);    System.out.println("filePath="+filePath);    System.out.println("mime_type="+mime_type);}  }   }

移动开发:Android中MediaStore使用示例

转载文章:http://blog.csdn.net/djy1992/article/details/9948105


更多相关文章

  1. android 在线视频播放器实现方法
  2. 国内目前最全面的介绍——Android中的BroadCastReceiver
  3. android intent的常用方法
  4. Android下各文件方法获取的路径
  5. Android定制出厂默认输入法
  6. Android(安卓)webkit log定义
  7. Android(安卓)图片缩放与旋转
  8. This Android(安卓)SDK requires Android(安卓)Developer Toolki
  9. 使用ListView应该注意的地方

随机推荐

  1. 圆角PopupWindow对话框和圆角EditText
  2. Android实现文字倒影
  3. Flutter开发之动态权限
  4. 【Android(安卓)Developers Training】 9
  5. Android下EditText的hint的一种显示效果-
  6. Android7.1启动系统App必须配置加密
  7. 根据浏览器头判断是手机还是电脑访问
  8. Android(安卓)jni 开发详细流程
  9. Android网络请求框架:Volley简单使用
  10. android天气预报----google开源天气API,SA