2013-04-08 3 views
0

Я создаю простое приложение для проекта, который поставляется с изображением, а над ним кнопка при нажатии кнопки изображение становится обоями телефона.Как удалить все изображения, которые пришли с приложением при удалении

Это я сделал, однако, для моего проекта мне нужно, чтобы обои были удалены, если приложение было удалено, как это сделать?

+0

Сообщение название и содержание две разные вещи. Какой вопрос является реальным? Удалите все изображения или измените обои. И что вы пытались сделать до сих пор? –

+0

ну, если вы удалите изображение, которое поставляется с приложением, обойдется обойтись без его удаления? – user2211271

+0

Я не думаю, что это возможно, насколько я знаю, обои будут сохраняться, даже если изображение было удалено из файловой системы до перезагрузки или перезагрузки SystemUI или Launcher (?). Я ничего не знаю, что вы можете с этим поделать. –

ответ

1

Сохранить ваши изображения here эта папка будет удалена, когда вы удалите приложение

+2

Я думаю, что андроид создает собственную копию, когда вы устанавливаете картинку в качестве обоев. Удаление исходного изображения не отменяет его. – vikki

+0

Но по крайней мере он будет удален :) –

+0

Я думаю, вам нужно иметь мин версии 8, чтобы сделать это с помощью 7, поэтому я могу использовать этот ответ – user2211271

0

Если вы посмотрите на Android документации для IntentACTION_PACKAGE_REMOVED, вы увидите, что это широковещательное действие будет получено любым другим заинтересованному применения (другие приложения, зарегистрированные для получения этой трансляции), кроме ваше собственное приложение.

Цитата с сайта developer.android.com:

Broadcast Действие: существующий пакет приложений был удален из устройства. Данные содержат имя пакета. Установленный пакет не получает этого намерения.

Unfortunetaly, потому что ваше приложение никогда не сможет обнаружить, что оно удаляется, вы не можете запускать определенную функцию, которая изменит обои на устройстве. Если бы это было возможно (, который не является), простая функция (следующий код) показала бы пользователю Select Wallpaper chooser.

Intent intent = new Intent(Intent.ACTION_SET_WALLPAPER); 
startActivity(Intent.createChooser(intent, "Select Wallpaper")); 

Это то, что пользователь должен будет вручную изменить после того, как он удалил ваше приложение.

Учитывая, что при удалении всех созданных вами приложений создаются файлы, позволяющие Android обрабатывать это для вас. Используйте один из этих вариантов в зависимости от API:

API больше 8 или больше: getExternalCacheDir

API 7 или меньшим: getExternalStorageDirectory.

Нечто подобное позволит вам определить, какой из них использовать в зависимости от API устройства:

int currentAPIVersion = android.os.Build.VERSION.SDK_INT; 
if (currentAPIVersion >= android.os.Build.VERSION_CODES.ECLAIR) { 
    // USE getExternalStorageDirectory 
} else { 
    // USE getExternalCacheDir 
} 
Смежные вопросы