Метод OnEvent
иногда вызывается, а иногда и не вызывается.
Должен был вызываться в тех случаях, когда пользователь снял фотографию на свою камеру, и она попадает в папку /DCIM/Camera/
Создан следующий класс MediaListenerService
:
public class MediaListenerService extends Service {
private static FileObserver observer;
public MediaListenerService() {
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
startWatching();
}
private void startWatching() {
//The desired path to watch or monitor
//E.g Camera folder
final String pathToWatch = android.os.Environment.getExternalStorageDirectory().toString() + "/DCIM/Camera/";
Toast.makeText(this, "My Service Started and trying to watch " + pathToWatch, Toast.LENGTH_LONG).show();
observer = new FileObserver(pathToWatch, FileObserver.ALL_EVENTS) { // set up a file observer to watch this directory
@Override
public void onEvent(int event, @Nullable String path) {
doing(pathToWatch+path);
}
};
observer.startWatching();
}
void doing(String path){
Log.d("DEBUG", "Log by influence of file: " + path);
}
}
Его применение:
@Override
protected void onStart() {
super.onStart();
startService(new Intent(getBaseContext(), MediaListenerService.class));
}
Метод если и срабатывает, то срабатывает примерно через 20 секунд после сохранения фото. Если фото было сделано несколько, метод сработает (не факт) только для некоторых из них, и, как видно по логам, одновременно для всех фотографий.
К тому же, логгирование показывает, что onEvent
никогда не вызывается для event
с кодом create
. Присутствуют вызовы со следующими кодами:
1
: ACCESS
- (Доступ)
16
: CLOSE_NOWRITE
- (Закрыт без записи)
32
: OPEN
- (Открыт)
Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском
Пытаюсь сделать так, чтобы при нажатии на enter строка не переносилась, а при зажатом shift переносиласьСделал boolean переменную, отвечающую за зажатый...