Activity 类型的方法 managedQuery(Uri, String[], String, String[], String) 已弃用

Posted

技术标签:

【中文标题】Activity 类型的方法 managedQuery(Uri, String[], String, String[], String) 已弃用【英文标题】:The method managedQuery(Uri, String[], String, String[], String) from the type Activity is deprecated 【发布时间】:2013-07-18 08:58:18 【问题描述】:

当我编译以下代码时

cursor = activity.managedQuery( imageUri, proj, null, null, null );

我收到以下警告

代码运行良好。我应该怎么做才能避免这种情况?

【问题讨论】:

【参考方案1】:

managedQuery 方法已弃用,这意味着不应再使用它,并且有可用的更新方法。这个的替代品是getContentResolver().query()

cursor = activity.getContentResolver().query(imageUri, proj, null, null, null);

您通常可以通过快速谷歌搜索方法名称来找出不推荐使用该方法的原因,以及应该改用什么方法,或者根据 javadoc 的好坏,它可能会通过您的 IDE 通知您。

【讨论】:

谢谢!它工作得很好。 getContentResolver().query(uri, projection, null, null, null);【参考方案2】:

上面的回答很贴切。我只是想在此线程中添加更多关于为什么不推荐使用 managedQuery 的信息。 Here 很好地解释了为什么 managedQuerygetContentResovler().query() 取代

【讨论】:

以上是关于Activity 类型的方法 managedQuery(Uri, String[], String, String[], String) 已弃用的主要内容,如果未能解决你的问题,请参考以下文章

不推荐使用 PushService 类型的方法 setDefaultPushCallback(Context, Class<? extends Activity>)

Activity的基础知识(下)

IOS/Objective-C:UIActivityViewController:针对不同的Activity类型进行自定义

视频播放完毕后启动 Activity

Activity详解二 activity数据传递

Elsa Activity 下拉框值动态获取