FileObserver根本无法工作

时间:2018-06-20 21:29:12

标签: android fileobserver

我正在尝试检测DCIM/Camera目录中的文件更改。但是当我用相机拍摄照片时,事件不会触发。我试图创建一个Service来确保观察者没有关闭,但这没有帮助。

通过USB连接电话时,即使使用计算机上的资源管理器将文件复制到目录中,也不会触发

如果我使用手机上的ES Explorer复制文件,则不会触发

我在做什么错了?

我已将<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />添加到Android清单中。

目标SDK版本:28,最小值:15

MainActivity代码:

public class MainActivity extends AppCompatActivity {

    public final String TAG = "DEBUG";
    public static FileObserver observer;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final String pathToWatch = Environment.getExternalStorageDirectory().toString() 
                + "/DCIM/Camera/";

        observer = new FileObserver(pathToWatch) {

            @Override
            public void onEvent(int event, String file) {
                Log.d(TAG, "Event happened!");

                Toast.makeText(getBaseContext(), file, Toast.LENGTH_LONG).show();
            }
        };
        observer.startWatching();

    }
}

0 个答案:

没有答案