KitKat将方法getNotificationUri()添加到CursorWrapper。除了使用反射之外,是否有更简洁的方法在较旧的API版本上检索它?
答案 0 :(得分:0)
Cursor是一个接口。这取决于你正在使用的Cursor的实现。从AbstractCursor派生的任何Cursor都支持getNotificationUri at least since Android 4.0.1。您只需将Cursor转换为AbstractCursor即可调用getNotificationUri()。
对于旧版本的Android(例如2.3),AbstractCursor中不存在该方法。然而 是一种非常脏的访问方式: reflection 。您要查找的Uri
存储在名为mNotifyUri
的私有字段中(AbstractCursor中为line 634)。反思,特别是以这种方式使用,通常不赞成,所以我不建议这样做。