行。最后我解决了我的问题。
首先,我创建一个光标并获取我的画廊手机中的所有图像并获取我拍摄的最后一张照片。
Cursor cursor = pickLastPhotoAlbum();
将光标移动到第一行后,获取光标返回的行数并创建一个 Drawable。
cursor.moveToFirst();
int qtd = cursor.getCount();
Drawable backgroundGaleria;
第三,我做了一个 if 来查看我的光标是否为空。
如果为空,我会在我的 imgs 文件夹中获得一个可绘制的图像。
如果不为空,我将获取图像的路径,从路径设置我的可绘制对象并使用此可绘制对象设置我的 ImageView 的背景。
if (qtd > 0){
String imageGallery = Environment.getExternalStorageDirectory()+ "/Tubagram/" + cursor.getString(1)+".png";
backgroundGaleria = Drawable.createFromPath(imageGallery);
principalActivity_iv_UltimaFoto.setBackground(backgroundGaleria);
}else{
principalActivity_iv_UltimaFoto.setBackgroundResource(R.drawable.box_imagem_album);
}
为了图像不会溢出他的大小,您需要使用 XXXdp 设置宽度和高度(我设置了最小值、正常大小和最大值)。
android:layout_width="61dp"
android:layout_height="42dp"
这是将值返回给我的光标的方法
private Cursor pickLastPhotoAlbum(){
final ContentResolver cr = getContentResolver();
final String[] p1 = new String[] {
MediaStore.Images.ImageColumns._ID,
MediaStore.Images.ImageColumns.TITLE,
MediaStore.Images.ImageColumns.DATE_TAKEN
};
Cursor c1 = cr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, p1, null, null, p1[1] + " DESC");
if (c1.moveToFirst() ) {
Log.i("Teste", "last picture (" + c1.getString(1) + ") taken on: " + new Date(c1.getLong(2)));
}
Log.i("Caminho download imagem", "file://"+Environment.getExternalStorageDirectory()+ "/Tubagram/" + c1.getString(1) + ".png");
return c1;
}
感谢所有帮助我的人。