小编Jay*_* vn的帖子

FIleObserver和ContentObserver无法在Android Marshmallow中运行

我有问题,FIleObserverContentObserver都无法在Android Marshmallow中运行.我正在使用这个东西来检测文件夹内发生的变化.我为marshmallow设置了运行时权限.但在那之后它也没有显示任何事件.它在其他版本中完美运行.请帮我解决这个问题.

首先,我尝试在Service中使用Content Resolver来检测后台文件夹的更改.

public class TestService extends Service {

    @Override
    public void onCreate() {
        super.onCreate();
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        initial();
        return START_STICKY;
    }

    public void initial(){
        getContentResolver().registerContentObserver(
                MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                true,
                new ContentObserver(new Handler()) {
                    @Override
                    public boolean deliverSelfNotifications() {
                        Log.d("hai", "deliverSelfNotifications");
                        return super.deliverSelfNotifications();
                    }

                    @Override
                    public void onChange(boolean selfChange) {
                        super.onChange(selfChange);
                    }

                    @Override
                    public void onChange(boolean selfChange, Uri uri) {

                        if (uri.toString().matches(MediaStore.Images.Media.EXTERNAL_CONTENT_URI.toString() + "/[0-9]+")) {

                            Cursor cursor = null; …
Run Code Online (Sandbox Code Playgroud)

android contentobserver fileobserver android-permissions android-6.0-marshmallow

8
推荐指数
1
解决办法
2819
查看次数