Привет всем,
Извините, если вы думаете, что этот вопрос повторяется, но я задаю этот вопрос, потому что серьезно я не получаю решение для него.
На самом деле я разрабатываю приложение для Android, в котором я должен обнаруживать изменения в SD-карте android для аудиофайлов с именем файла, файловым путем и выполняемой над ним операцией. Пример, если я добавляю файл на свою SD-карту, тогда я хочу знать
- Имя добавляемого файла
- Путь к файлу
- Операция - Добавить
Раньше я пробовал просмотр файла. Но для этого я должен применять его во всех каталогах. Поэтому я искал другое решение и получил информацию о Audio.Media.EXTERNAL_CONTENT_URI. Затем я создал наблюдателя контента, подобного этому
UriObserver.java - это наблюдатель контента
class UriObserver extends ContentObserver {
public UriObserver(Handler handler) {
super(handler);
// TODO Auto-generated constructor stub
}
@Override
public void onChange(boolean selfChange) {
// TODO Auto-generated method stub
super.onChange(selfChange);
Log.d("INSTANT", "GETTING CHANGES");
}
}
Это код для его регистрации
UriObserver observer = new UriObserver(new Handler());
Log.d("INSTANT", "registered content observer");
this.getApplicationContext()
.getContentResolver()
.registerContentObserver(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, false,
observer);
Log.d("INSTANT", "registered content observer");
Это дало мне знать, что некоторые изменения произошли в SD-карте, связанной с аудиофайлами. Но он не дает никакой информации о том, какой файл был добавлен, отредактирован или удален.
Затем я искал решение и получил это сообщение
Android: как обнаружить изменение в MediaStore при подключении через MTP
В этом сообщении некоторый код задается Bhiefer как ответ, который, я думаю, может работать. Поэтому я пытался реализовать, но я не могу этого сделать. У меня нет права комментировать где-либо в моей учетной записи. Поэтому я не могу связаться с Bhief e, чтобы попросить его о помощи.
Итак, кто-нибудь может предложить мне, что я могу сделать для этого. Если у кого-то есть какое-то решение для него или кто-нибудь, кто может мне помочь найти решение.
Буду очень признателен вам всем, если вы можете мне помочь.
Обновление Среда, 10 апреля 2013 года, 14:47:36 IST
Если кто-то знает методы для запроса Audio.Media.EXTERNAL_CONTENT_URI для своих последних изменений, это могло бы помочь, но
mCursor = context.getContentResolver().query(
Audio.Media.EXTERNAL_CONTENT_URI, null, null, null, "_id");
mCursor.moveToLast();
не дает последних изменений. Так что любой другой метод для получения последних изменений