Android сообщает приложению, что носитель был смонтирован/размонтирован, когда приложение было уничтожено

Есть ли способ сообщить моему приложению, что носитель (SDCard) был подключен/отключен, когда мое приложение было выключено? Я имею в виду, что мое приложение и его службы были уничтожены, а не только остановлены. Возможно, есть какие-то способы проверить контрольную сумму MediaStore?

Цель: решить, были ли добавлены или удалены новые музыкальные файлы в памяти устройства, чтобы обновить общий плейлист.


person Sergii    schedule 11.07.2012    source источник


Ответы (2)


Почему бы не проверить, смонтирована ли SDCARD, используя Environment.getExternalStorageState() при перезапуске приложения? Значение, которое вы хотите, чтобы это было Environment.MEDIA_MOUNTED. Однако вы можете сделать это асинхронно и отобразить где-нибудь сообщение о том, что обновление выполняется...

... если вам действительно нужен обратный вызов, вам нужно взглянуть на что Джон Уиллис написал о регистрации широковещательный приемник.

person karllindmark    schedule 11.07.2012
comment
Но лучше прописать Intent.ACTION_MEDIA_SCANNER_FINISHED — когда MediaStore уже обновится - person Sergii; 11.07.2012
comment
Полезно знать для будущего использования. :) - person karllindmark; 11.07.2012

Вы зарегистрировали широковещательный приемник для получения намерения android.intent.action.MEDIA_MOUNTED.

person Vishwanath.M    schedule 11.07.2012
comment
спасибо, идея правильная, но лучше прописать Intent.ACTION_MEDIA_SCANNER_FINISHED - когда MediaStore уже обновится - person Sergii; 11.07.2012
comment
Я думаю, что ответ @ninetwozero более информативен, поэтому я его принял. Но я положил полезный ответ на ваш совет. Еще раз спасибо! - person Sergii; 11.07.2012