繁体   English   中英

如何使用Contentresolver获取通知

[英]How to get notifications using Contentresolver

我正在使用contentresolver来获取通知,如下所示

@Override
public void onStart(Intent intent, int startid) 
{       
    this.getApplicationContext().getContentResolver().registerContentObserver (MediaStore.Images.Media.EXTERNAL_CONTENT_URI, true, contentObserver);
    this.getApplicationContext().getContentResolver().registerContentObserver (MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, true, contentObserver);
    this.getApplicationContext().getContentResolver().registerContentObserver (MediaStore.Video.Media.EXTERNAL_CONTENT_URI, true, contentObserver);
}
private class MyContentObserver extends ContentObserver 
{
@Override
    public void onChange(boolean selfChange) 
    {
       super.onChange(selfChange);
        System.out.println (" Inside Contentobserver onChange" );
    }
}

在这里,每当我从sdcard删除任何图像/视频/音频文件时,在完成删除操作后,Onchange(bool)就会调用。 是否可以在删除之前获取通知? 我也尝试过Broadcastreceiver,但没有收到任何通知? 提前致谢

否,似乎不可能提前接收通知,因为通知发送的时间由ContentProvider实现决定。 如果ContentProvdier (特别是系统之一)仅在删除后才发送Uri通知,那么您将无法更改它以获取通知。

例如,如果您检查MediaProvider.delete()的源,则很明显,通知将在最后被调用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM