0
在我的應用程序中,有一個按鈕可以在手機銷售之前刪除手機中的所有照片,因此沒有人可以在手機中看到照片。從Android設備上刪除所有照片
該按鈕背後的代碼是這樣
List<Long> mediaStoreIds = new ArrayList<Long>();
Cursor c = getApplicationContext().getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, new String[]{BaseColumns._ID}, null, null, null);
if (c != null) {
final int id = c.getColumnIndexOrThrow(BaseColumns._ID);
c.moveToFirst();
while (!c.isAfterLast()) {
Long mediaStoreId = c.getLong(id);
mediaStoreIds.add(mediaStoreId);
getApplicationContext().getContentResolver().delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, BaseColumns._ID + "=?", new String[]{Long.toString(mediaStoreId)});
c.moveToNext();
}
c.close();
}
}
的問題是,當調試器到達該行停止
Cursor c = getApplicationContext().getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, new String[]{BaseColumns._ID}, null, null, null);
不知道爲什麼它停止,以及如何解決它
任何人都可以幫助我?
感謝
我認爲這需要許可。你有沒有在你的清單和代碼中聲明它們? – 0xDEADC0DE
將Dmitry添加到下面的好答案中,刪除照片使其不顯示在文件瀏覽器中,並實際清除數據以便通過像「Recuva」這樣的軟件無法恢復是兩件不同的事情。 [這是更多信息](http://www.howtogeek.com/125521/htg-explains-why-deleted-files-can-be-recovered-and-how-you-can-prevent-it/) – Doomsknight