특정 폴더에서 파일의 생성을 감지하는 코드입니다.
private FileObserver fileObserver;
// 감시할 폴더 경로
String directoryPath = "/storage/emulated/0/";
String filePath = null;
private void startFileObservation() {
fileObserver = new FileObserver(directoryPath) {
@Override
public void onEvent(int event, String path) {
if (event == FileObserver.CREATE) {
// 새 파일이 생성된 경우 처리 로직을 여기에 작성합니다.
filePath = directoryPath + "/" + path;
// filePath를 처리하는 코드를 추가합니다.
System.out.println(filePath);
}
}
};
fileObserver.startWatching(); // 감시 시작
}
새로운 파일 생성을 감시할 시점에 아래 코드를 추가합니다.
// 파일 감시 시작
startFileObservation();
안드로이드 API 29부터, 저장소에 접근하기 위해 Manifest 파일에 아래 권한을 설정해 줍니다.
<uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION" />
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
<uses-permission android:name="android.permission.MANAGE_DOCUMENTS_EXTERNAL_STORAGE" />
<application
android:requestLegacyExternalStorage="true"
/>