Какой правильный намертфильтр для приемника вещания, чтобы получить изменения медиа на внешнем хранилище? - PullRequest
0 голосов
/ 26 марта 2019

Я только что нашел

ACTION_MEDIA_REMOVED

и ищу что-то вроде:

ACTION_MEDIA_INSERTED и ACTION_MEDIA_CHANGED

1 Ответ

1 голос
/ 27 марта 2019

Вы можете использовать FileObserver для наблюдения за любыми изменениями в файле или каталоге. Пример использования.

Добавьте следующее разрешение в файл манифеста

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

public class MyFileObserver extends FileObserver {

    String absolutePath = "path to your directory";

    public MyFileObserver(String path) {
        super(path, FileObserver.CREATE);
        absolutePath = path;
    }

    @Override
    public void onEvent(int event, String path) {
        // this is where you will receive all event like file modified, file added...
        if (path != null) {
            Log.e("File created..");
        }
    }
}

и в вашей деятельности

public class MainActivity extends AppCompatActivity {

    MyFileObserver myFileObserver;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        myFileObserver = new DirectoryFileObserver("Path of the directory");
        myFileObserver.startWatching();
    }
}

и если вы хотите наблюдать за внешним хранилищем в фоновом режиме, то отправьте этот ответ

...