1

何时使用

// to get image randomly
    public static Uri getRandomImage(ContentResolver resolver) {

        String[] projection = new String[] { BaseColumns._ID
        };
        Uri uri = new Random().nextInt(1) == 0 ? Media.EXTERNAL_CONTENT_URI
                : Media.INTERNAL_CONTENT_URI;

        Cursor cursor = Media.query(resolver, uri, projection, null,
                MediaColumns._ID);
        if (cursor == null || cursor.getCount() <= 0) {
            return null;
        }

        cursor.moveToPosition(new Random().nextInt(cursor.getCount()));

        return Uri.withAppendedPath(uri, cursor.getString(0));
    }

以及何时使用 ACTION_GET_CONTENT 意图?

因为我想从 android 设备中选择一个图像!

请帮忙

4

1 回答 1

0

如果您想从 teh android 库中选择图像,请尝试以下操作:

Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, 100);

要取回结果,您可以执行以下操作:

protected void onActivityResult(int requestCode, int resultCode, 
   Intent imageReturnedIntent) {
super.onActivityResult(requestCode, resultCode, imageReturnedIntent); 

switch(requestCode) { 
case REQ_CODE_PICK_IMAGE:
    if(resultCode == RESULT_OK){  
        Uri selectedImage = imageReturnedIntent.getData();
        String[] filePathColumn = {MediaStore.Images.Media.DATA};

        Cursor cursor = getContentResolver().query(
                           selectedImage, filePathColumn, null, null, null);
        cursor.moveToFirst();

        int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
        String filePath = cursor.getString(columnIndex);
        cursor.close();


        Bitmap yourSelectedImage = BitmapFactory.decodeFile(filePath);
    }
}

}

你也可以参考这个:

如何为我的应用从图库(SD 卡)中选择图像?

于 2013-02-04T08:42:26.760 回答