12
A
回答
44
// 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);
}
}
我還在工作的MMS發送部分。
2
通過https://stackoverflow.com/a/20065920/763459
啓發所以在這個問題的答案主要關注的是並非所有的設備都使用「DCIM」的相機文件夾下。然後我發現如果文件位於應用程序指定的文件夾內,它將被編入索引ContentResolver
,但其他應用程序無權訪問它,這意味着canRead=false
。所以我在這裏提出了另一種解決方案:
while (cursor.moveToNext()) {
String imagePath = cursor.getString(cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA));
File imageFile = new File(imagePath);
if (imageFile.canRead() && imageFile.exists()) {
// we have found the latest picture in the public folder, do whatever you want
break;
}
}
相關問題
- 1. 從用戶照片庫獲取最後一張照片返回兩張照片
- 2. AVFoundation每秒拍攝一張照片SWIFT
- 3. 如何用Kurento拍攝單張照片?
- 4. 拍攝照片後獲得gps位置
- 5. UIImagePickerController:如何拍攝1張照片?
- 6. 從Android設備拍攝多張照片
- 7. 在opencv中拍攝多張照片
- 8. 離子:相機在每張照片後要求確認/拍攝多張照片
- 9. 獲取拍攝照片無效
- 10. 拍攝一張照片後,Android相機凍結
- 11. Android獲取最新拍攝照片的路徑
- 12. NativeScript Angular 2最近拍攝的照片
- 13. 使用QTCaptureView拍攝照片
- 14. 照片拍攝後恢復camera.preview()
- 15. 訪談:一天拍攝多少張照片
- 16. iPhone 3G(非3GS)在一秒鐘內拍攝多少張照片?
- 17. iPhone可以一次快速拍攝2張照片多快?
- 18. 通過意圖拍攝一張照片android
- 19. 使用Photos Framework獲取相機拍攝的照片的URL
- 20. 拍攝照片不保存
- 21. UIImagePickerController導致迅速拍攝2張3張照片後發生泄漏
- 22. 如何一次拍攝兩張圖片
- 23. 如何使用Android android.provider.MediaStore.ACTION_IMAGE_CAPTURE拍攝多張照片?
- 24. 我可以使用UIImagePickerController拍攝多張照片嗎?
- 25. 在iPhone上使用Titanium/Appcelerator拍攝多張照片
- 26. 拍攝多張照片,使用camera2 captureBurst()函數
- 27. 如何使用拍攝的照片?
- 28. Android-如何獲取拍攝的照片的陰影
- 29. 如何獲取相機拍攝的照片的路徑ios swift
- 30. android拍攝照片時獲取手機的方位角
我知道這是不太你問什麼,但也許它更是什麼意思?您可以啓動相機活動並獲取用戶拍攝的照片。請參閱這裏http://stackoverflow.com/questions/2314958/using-the-camera-activity-in-android – Craigy