我是初学的android编程。我的项目存在问题: 我使用代码删除图像后:
new File(path).delete();
我使用以下代码通知图库:
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(new File(path))));
path
我是这样的:
/storage/emulated/0/Pictures/260445-bigthumbnail.jpg
我从存储中获得了一条图像路径:
int column_index_data, column_index_folder_name, column_index_file_name;
uri = android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
String[] projection = {MediaStore.MediaColumns.DATA,
MediaStore.Images.Media.BUCKET_DISPLAY_NAME, MediaStore.MediaColumns.DISPLAY_NAME};
Cursor cursor = context.getContentResolver().query(uri, projection, null,
null, null);
column_index_data = cursor.getColumnIndexOrThrow(MediaStore.MediaColumns.DATA);
column_index_folder_name = cursor
.getColumnIndexOrThrow(MediaStore.Images.Media.BUCKET_DISPLAY_NAME);
column_index_file_name = cursor.getColumnIndexOrThrow(MediaStore.MediaColumns.DISPLAY_NAME);
while (cursor.moveToNext()) {
String pathOfImage = cursor.getString(column_index_data);
list.add(pathOfImage);
}
当我在genymotion虚拟设备上运行我的项目时,它的工作正常。但是当我在我的真实设备上运行它时,它不起作用(它无法通知画廊。通知后,我去画廊,然后我仍然看到它显示在画廊中)。我不知道为什么?对我的问题有什么建议吗?