当前位置: 首页>>代码示例>>Java>>正文


Java MediaStore类代码示例

本文整理汇总了Java中android.provider.MediaStore的典型用法代码示例。如果您正苦于以下问题:Java MediaStore类的具体用法?Java MediaStore怎么用?Java MediaStore使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


MediaStore类属于android.provider包,在下文中一共展示了MediaStore类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getImgInfo

import android.provider.MediaStore; //导入依赖的package包/类
/**
 * 获取本地图片信息
 * @param context
 * @param map
 */
public static void getImgInfo(Context context, HashMap<String, ArrayList<String>> map) {
    //获取图片信息表
    Uri imageUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
    ContentResolver mContentResolver = context.getContentResolver();
    Cursor mCursor = mContentResolver.query(imageUri, null,
            MediaStore.Images.Media.MIME_TYPE + "=? or " + MediaStore.Images.Media.MIME_TYPE + "=?",
            new String[]{"image/jpeg", "image/png"}, MediaStore.Images.Media.DATE_TAKEN + " DESC");
    while (mCursor.moveToNext()) {
        String imgPath = mCursor.getString(mCursor.getColumnIndex(MediaStore.Images.Media.DATA));
        //获取图片父路径
        String parentPath = new File(imgPath).getParentFile().getName();
        if (!map.containsKey(parentPath)) {
            ArrayList<String> childList = new ArrayList<String>();
            childList.add(imgPath);
            map.put(parentPath, childList);
        } else {
            map.get(parentPath).add(imgPath);
        }
    }
    mCursor.close();
}
 
开发者ID:SavorGit,项目名称:Hotspot-master-devp,代码行数:27,代码来源:MediaUtils.java

示例2: checkForDuplicateImage

import android.provider.MediaStore; //导入依赖的package包/类
/**
 * Used to find out if we are in a situation where the Camera Intent adds to images
 * to the content store. If we are using a FILE_URI and the number of images in the DB
 * increases by 2 we have a duplicate, when using a DATA_URL the number is 1.
 *
 * @param type FILE_URI or DATA_URL
 */
private void checkForDuplicateImage(int type) {
    int diff = 1;
    Uri contentStore = whichContentStore();
    Cursor cursor = queryImgDB(contentStore);
    int currentNumOfImages = cursor.getCount();

    if (type == FILE_URI && this.saveToPhotoAlbum) {
        diff = 2;
    }

    // delete the duplicate file if the difference is 2 for file URI or 1 for Data URL
    if ((currentNumOfImages - numPics) == diff) {
        cursor.moveToLast();
        int id = Integer.valueOf(cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media._ID)));
        if (diff == 2) {
            id--;
        }
        Uri uri = Uri.parse(contentStore + "/" + id);
        this.cordova.getActivity().getContentResolver().delete(uri, null, null);
        cursor.close();
    }
}
 
开发者ID:disit,项目名称:siiMobilityAppKit,代码行数:30,代码来源:CameraLauncher.java

示例3: takePhoto

import android.provider.MediaStore; //导入依赖的package包/类
private void takePhoto() {
  Intent intentPhoto = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
  ComponentName componentName = intentPhoto.resolveActivity(getPackageManager());
  if (componentName != null) {
    // 使用 lambda 表达式捕获局部变量,避免了将 tmpFile 作为类变量。
    File tmpFile = getTempFile(FileType.IMG);
    if (tmpFile != null) {
      BuilderUtil.createBuilder(this, intentPhoto)
          .asIntent()
          .setFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION)
          .putExtra(MediaStore.EXTRA_OUTPUT, getUri(componentName, tmpFile))
          .asBuilder()
          .forOk((context, intent) -> context.showPicture(tmpFile))
          .start();
    }
  }
}
 
开发者ID:douo,项目名称:ActivityBuilder,代码行数:18,代码来源:CameraActivity.java

示例4: cropImage

import android.provider.MediaStore; //导入依赖的package包/类
/**
     * 裁剪图片
     *
     * @param uri
     */
    private void cropImage(Uri uri) {
        Intent intent = new Intent("com.android.camera.action.CROP");
        intent.setDataAndType(uri, "image/*");
//        图片处于可裁剪状态
        intent.putExtra("crop", "true");
//        aspectX aspectY 是宽高的比例
        intent.putExtra("aspectX", 4);
        intent.putExtra("aspectY", 3);
//        是否缩放
        intent.putExtra("scale", true);
//        设置图片的大小,提高头像的上传速度
        intent.putExtra("outputX", 500);
        intent.putExtra("outputY", 500);
//        以Uri的方式传递照片
        File cropFile = new File(getFilePath() + "crop.jpg");
        cropFileUri = Uri.fromFile(cropFile);
//        把裁剪好的图片保存到这个路径
        intent.putExtra(MediaStore.EXTRA_OUTPUT, cropFileUri);

        startActivityForResult(intent, CROP_REQUEST);


    }
 
开发者ID:HowieTianDev,项目名称:ChenYan,代码行数:29,代码来源:PublishAActivity.java

示例5: catchIntent

import android.provider.MediaStore; //导入依赖的package包/类
private void catchIntent(){
    if (file == null)
        throw new NullPointerException("You need to set the file you want to save the image in.");

    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

    selectedFilePath = file.getPath();
    intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));

    if (activity==null)
        return;

    // start the image capture Intent
    if (dialogFragment != null)
        activity.startActivityFromFragment(dialogFragment, intent, requestCode);
    else if (fragment!= null)
        activity.startActivityFromFragment(fragment, intent, requestCode);
    else activity.startActivityForResult(intent, requestCode);
}
 
开发者ID:MobileDev418,项目名称:chat-sdk-android-push-firebase,代码行数:20,代码来源:CatchImageClickListener.java

示例6: openCamera

import android.provider.MediaStore; //导入依赖的package包/类
public void openCamera() {
    try {
        Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        File image = AndroidUtilities.generatePicturePath();
        if (image != null) {
            if (Build.VERSION.SDK_INT >= 24) {
                takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, FileProvider.getUriForFile(parentFragment.getParentActivity(), BuildConfig.APPLICATION_ID + ".provider", image));
                takePictureIntent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
                takePictureIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
            } else {
                takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(image));
            }
            currentPicturePath = image.getAbsolutePath();
        }
        parentFragment.startActivityForResult(takePictureIntent, 13);
    } catch (Exception e) {
        FileLog.e("tmessages", e);
    }
}
 
开发者ID:pooyafaroka,项目名称:PlusGram,代码行数:20,代码来源:AvatarUpdater.java

示例7: loadInBackground

import android.provider.MediaStore; //导入依赖的package包/类
@Override
public Cursor loadInBackground() {
    Cursor albums = super.loadInBackground();
    MatrixCursor allAlbum = new MatrixCursor(COLUMNS);
    int totalCount = 0;
    String allAlbumCoverPath = "";
    if (albums != null) {
        while (albums.moveToNext()) {
            totalCount += albums.getInt(albums.getColumnIndex(COLUMN_COUNT));
        }
        if (albums.moveToFirst()) {
            allAlbumCoverPath = albums.getString(albums.getColumnIndex(MediaStore.MediaColumns.DATA));
        }
    }
    allAlbum.addRow(new String[]{Album.ALBUM_ID_ALL, Album.ALBUM_ID_ALL, Album.ALBUM_NAME_ALL, allAlbumCoverPath,
            String.valueOf(totalCount)});

    return new MergeCursor(new Cursor[]{allAlbum, albums});
}
 
开发者ID:zhihu,项目名称:Matisse,代码行数:20,代码来源:AlbumLoader.java

示例8: getPathOfImage

import android.provider.MediaStore; //导入依赖的package包/类
public static String getPathOfImage(Context context, Uri uri) throws URISyntaxException {
    Cursor cursor = context.getContentResolver().query(uri, null, null, null, null);
    if (cursor.moveToFirst()) {
        String document_id = cursor.getString(0);
        document_id = document_id.substring(document_id.lastIndexOf(":") + 1);
        cursor.close();

        cursor = context.getContentResolver().query(
                MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                null, MediaStore.Images.Media._ID + " = ? ", new String[]{document_id}, null);
        if (cursor.moveToFirst()) {
            String path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));
            cursor.close();
            return path;
        } else return null;
    } else return null;
}
 
开发者ID:architjn,项目名称:SharePanel,代码行数:18,代码来源:Utils.java

示例9: instantiateItem

import android.provider.MediaStore; //导入依赖的package包/类
public Object instantiateItem(ViewGroup container, int position){
    View v = inflater.inflate(R.layout.viewpager_image,null);
    ImageView imgView = (ImageView) v.findViewById(R.id.viewPagerImage);
    //이미지를 가져옴
    Uri uri = Uri.fromFile(new File(cards.get(position)));

    try {
        Bitmap bitmap = MediaStore.Images.Media.getBitmap(inflater.getContext().getContentResolver(),uri);
        int nh = (int) (bitmap.getHeight() * (1024.0 / bitmap.getWidth()));
        Bitmap scaled = Bitmap.createScaledBitmap(bitmap, 1024, nh, true);

        imgView.setImageBitmap(scaled);

    } catch (IOException e) {
        e.printStackTrace();
    }
    container.addView(v);

    return v;
}
 
开发者ID:gugusny5758,项目名称:OSS-green-07,代码行数:21,代码来源:CardNewsPagerAdapter.java

示例10: captureImage

import android.provider.MediaStore; //导入依赖的package包/类
/**
 * Start camera intent
 * Create a temporary file and pass file Uri to camera intent
 */
private void captureImage() {
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    if (intent.resolveActivity(getPackageManager()) != null) {
        File imageFile = ImageUtils.createImageFile(imageDirectory);
        if (imageFile != null) {
            String authority = getPackageName() + ".fileprovider";
            Uri uri = FileProvider.getUriForFile(this, authority, imageFile);
            currentImagePath = "file:" + imageFile.getAbsolutePath();
            intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
            startActivityForResult(intent, Constants.REQUEST_CODE_CAPTURE);
        } else {
            Toast.makeText(this, getString(R.string.error_create_image_file), Toast.LENGTH_LONG).show();
        }
    } else {
        Toast.makeText(this, getString(R.string.error_no_camera), Toast.LENGTH_LONG).show();
    }
}
 
开发者ID:sega4revenge,项目名称:Sega,代码行数:22,代码来源:ImagePickerActivity.java

示例11: captureVideo

import android.provider.MediaStore; //导入依赖的package包/类
public void captureVideo(Activity activity, final ModuleResultListener listener) {
    if (mIsTakingVideo) {
        listener.onResult(Util.getError(Constant.CAMERA_BUSY, Constant.CAMERA_BUSY_CODE));
        return;
    }

    mCaptureVideoStartTime = System.currentTimeMillis();
    mIsTakingVideo = true;
    String fileName = "nat_video_" + new Date().getTime() + ".mov";
    Intent intent = new Intent();
    intent.setAction(MediaStore.ACTION_VIDEO_CAPTURE);
    intent.addCategory(Intent.CATEGORY_DEFAULT);
    try {
        videoFile = Util.getFile(fileName);
    } catch (IOException e) {
        e.printStackTrace();
    }
    Uri uri = Uri.fromFile(videoFile);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
    activity.startActivityForResult(intent, Constant.VIDEO_REQUEST_CODE);
}
 
开发者ID:natjs,项目名称:nat-camera,代码行数:22,代码来源:CameraModule.java

示例12: handleImageOnKitKat

import android.provider.MediaStore; //导入依赖的package包/类
@TargetApi(Build.VERSION_CODES.KITKAT)
public void handleImageOnKitKat(Intent data) {
    String imagePath=null;
    Uri uri=data.getData();
    if (DocumentsContract.isDocumentUri(this,uri)){
        //如果是document类型的Uri,则通过document id处理
        String docId=DocumentsContract.getDocumentId(uri);
        if ("com.android.providers.media.documents".equals(uri.getAuthority())){
            String id=docId.split(":")[1];//解析数字可是的id
            String selection=MediaStore.Images.Media._ID+"="+id;
            imagePath=getImagePath(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,selection);

        }else if ("com.android.providers.downloads.documents".equals(uri.getAuthority())){
            Uri contentUri= ContentUris.withAppendedId(Uri.parse("content://downloads/punlic_downloads"),Long.valueOf(docId));
            imagePath=getImagePath(contentUri,null);
        }
    }else if ("content".equalsIgnoreCase(uri.getScheme())){
        //如果是content类型的Uri,则使用普通方法
        imagePath=getImagePath(uri,null);
    }else  if ("file".equalsIgnoreCase(uri.getScheme())){
        imagePath=uri.getPath();
    }
    displayImage(imagePath);//根据图片路径显示图片
}
 
开发者ID:guzhigang001,项目名称:QNewsDemo,代码行数:25,代码来源:MainActivity.java

示例13: captureImage

import android.provider.MediaStore; //导入依赖的package包/类
public void captureImage(Activity activity, final ModuleResultListener listener){
    if (mIsTakingPhoto) {
        listener.onResult(Util.getError(Constant.CAMERA_BUSY, Constant.CAMERA_BUSY_CODE));
        return;
    }
    mCaptureImgStartTime = System.currentTimeMillis();

    mIsTakingPhoto = true;

    String fileName = "nat_img_" + new Date().getTime() + ".jpg";
    Intent intent = new Intent();
    intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
    intent.addCategory(Intent.CATEGORY_DEFAULT);
    try {
        finalImageFile = Util.getFile(fileName);
    } catch (IOException e) {
        e.printStackTrace();
        listener.onResult(Util.getError(Constant.CAMERA_INTERNAL_ERROR, Constant.CAMERA_INTERNAL_ERROR_CODE));
    }
    Uri uri = Uri.fromFile(finalImageFile);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);

    activity.startActivityForResult(intent, Constant.IMAGE_REQUEST_CODE);
}
 
开发者ID:natjs,项目名称:nat-camera,代码行数:25,代码来源:CameraModule.java

示例14: dispatchTakePictureIntentTest3

import android.provider.MediaStore; //导入依赖的package包/类
private void dispatchTakePictureIntentTest3() {
    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    // Ensure that there's a camera activity to handle the intent
    if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
        // Create the File where the photo should go
        File photoFile = null;
        try {
            photoFile = createImageFile(false);
        } catch (IOException ex) {
            // Error occurred while creating the File
            ex.printStackTrace();
        }
        // Continue only if the File was successfully created
        if (photoFile != null) {
            Uri photoURI = FileProvider.getUriForFile(this,
                    "com.ge.droid.takingphotossimply.fileprovider",
                    photoFile);
            takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);
            startActivityForResult(takePictureIntent, REQUEST_TAKE_PICTURE_TEST_3);
        }
    }
}
 
开发者ID:gejiaheng,项目名称:TakingPhotosSimply,代码行数:23,代码来源:MainActivity.java

示例15: getRealPathFromURI

import android.provider.MediaStore; //导入依赖的package包/类
public static String getRealPathFromURI(Context context, Uri contentURI) throws Exception {
    String result;
    String[] proj = {MediaStore.Images.Media.DATA};
    try {
        Cursor cursor = context.getContentResolver().query(contentURI, proj, null, null, null);
        if (cursor == null || cursor.getCount() == 0) { // Source is Dropbox or other similar local file path
            result = contentURI.getPath();
        } else {
            cursor.moveToFirst();
            int idx = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
            result = cursor.getString(idx);
            if (result == null) {
                result = contentURI.getPath();
            }
            cursor.close();
        }
        return result;
    } catch (Exception e) {
        throw new Exception(e.getMessage());
    }
}
 
开发者ID:nhocga1995s,项目名称:MyCalendar,代码行数:22,代码来源:FunctionHelper.java


注:本文中的android.provider.MediaStore类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。