获取用户拍摄的最后一张照片

Zee*_*bAs 15 android image android-contentprovider

嘿我想通过任何相机应用程序获取用户捕获的最后一张照片.我不知道该怎么做

谁能帮我?

此外,我想将该图像作为电子邮件或彩信的附件发送..

谢谢

Jes*_*ron 52

// Find the last picture
String[] projection = new String[]{
    MediaStore.Images.ImageColumns._ID,
    MediaStore.Images.ImageColumns.DATA,
    MediaStore.Images.ImageColumns.BUCKET_DISPLAY_NAME,
    MediaStore.Images.ImageColumns.DATE_TAKEN,
    MediaStore.Images.ImageColumns.MIME_TYPE
    };
final Cursor cursor = getContext().getContentResolver()
        .query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, null, 
               null, MediaStore.Images.ImageColumns.DATE_TAKEN + " DESC");

// Put it in the image view
if (cursor.moveToFirst()) {
    final ImageView imageView = (ImageView) findViewById(R.id.pictureView);
    String imageLocation = cursor.getString(1);
    File imageFile = new File(imageLocation);
    if (imageFile.exists()) {   // TODO: is there a better way to do this?
        Bitmap bm = BitmapFactory.decodeFile(imageLocation);
        imageView.setImageBitmap(bm);         
    }
} 
Run Code Online (Sandbox Code Playgroud)

我还在处理MMS发送部分.

  • 我认为这不会带来最后的CAPTURED图像.这将带来截至日期的最后一张图像.也许whatsapp图像或Instagram图像. (4认同)
  • @blackjack它是MediaStore.Images.ImageColumns.DATE_TAKEN (2认同)
  • @ ShaneCreighton-Young,这是正确的.我认为,留下一个快速警告而不是无所事事也是更好的,因为有时这只是人们所能承受的.无论如何,感谢你努力做到"好得多"的事情.为此+1.干杯! (2认同)