gpt4 book ai didi

android - 如何在 android 中调用 getContentResolver?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:35:59 26 4
gpt4 key购买 nike

我正在编写一个库类来将我的一些逻辑封装在我的第一个 Android 应用程序中。我要封装的功能之一是查询地址簿的功能。因此,它需要一个 ContentResolver。我试图弄清楚如何使库函数保持黑盒化...也就是说,避免让每个 Activity 在其自己的上下文中传递以获得 ContentResolver .

问题是我终其一生都无法弄清楚如何从我的库函数中获取 ContentResolver。我找不到包含 getContentResolver 的导入。谷歌搜索说使用 getContext 获取 Context 以调用 getContentResolver,但我找不到包含 getContext< 的导入要么。下一篇文章说使用 getSystemService 获取对象以调用 getContext。但是 - 我也找不到任何包含 getSystemService 的导入!

所以我一直想知道,我如何才能在封装的库函数中获得 ContentResolver,或者我是否几乎无法让每个调用 Activity 都传递对其自身上下文的引用?

我的代码基本上是这样的:

public final class MyLibrary {
private MyLibrary() { }

// take MyGroupItem as a class representing a projection
// containing information from the address book groups
public static ArrayList<MyGroupItem> getGroups() {
// do work here that would access the contacts
// thus requiring the ContentResolver
}
}

getGroups 是我希望尽可能避免传入 ContextContentResolver 的方法,因为我希望将其完全黑盒化.

最佳答案

你可以这样使用:

getApplicationContext().getContentResolver() with the proper context.
getActivity().getContentResolver() with the proper context.

关于android - 如何在 android 中调用 getContentResolver?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4895116/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com