如何在Android中调用getContentResolver()?

时间:2010-09-20 11:19:13

标签: android

我想知道调用getContentResolver()的上下文?

我有这样的场景:
我有一个活动A,它调用B类的方法myFunc(),而不是活动 所以,在B级我必须使用getContentResolver()。我直接打电话给getContentResolver()。它显示错误。然后我从活动中调用myFunc(Acitivy act)并调用act.getContentResolver()来解决我的问题。这是调用getContentResolver()的唯一方法,这意味着它可以在活动的上下文中使用,也可以单独使用。

8 个答案:

答案 0 :(得分:90)

getContentResolver()是类android.content.Context的方法,所以要调用它,你肯定需要一个实例 上下文(例如,活动或服务)。

答案 1 :(得分:32)

您可以这样使用:

getApplicationContext().getContentResolver()

有适当的背景。

答案 2 :(得分:6)

使用getContentResolver()对象查询Contact时,也会使用Cursor方法。我使用getContentResolver()查询Android手机Contacts应用,查找来自某人电话号码的联系信息,以包含在我的应用中。查询中的不同元素(如下所示)表示您想要的联系人详细信息,以及是否应该对其进行排序等。这是另一个example

来自Android文档的Content Provider Basics页面。

// Queries the user dictionary and returns results
mCursor = getContentResolver().query(
    UserDictionary.Words.CONTENT_URI,   // The content URI of the words table
    mProjection,                        // The columns to return for each row
    mSelectionClause                    // Selection criteria
    mSelectionArgs,                     // Selection criteria
    mSortOrder);                        // The sort order for the returned rows

答案 3 :(得分:1)

import android.content.Context;
import android.content.ContentResolver;

context = (Context)this;
ContentResolver result = (ContentResolver)context.getContentResolver();

答案 4 :(得分:0)

这个对我有用 getBaseContext();

答案 5 :(得分:0)

  //create activity object to get activity from Activity class for use to content resolver
    private final Activity ActivityObj;

  //create constructor with ActivityObj to get activity from Activity class
    public RecyclerViewAdapterClass(Activity activityObj) {
        this.ActivityObj = activityObj;
    }


     ActivityObj.getContentResolver(),.....,.....,null);

答案 6 :(得分:0)

访问Kotlin中的contentResolver,内部活动,对象类和...:

Application().contentResolver

答案 7 :(得分:-1)

ContentResolver contentResolver = getContext()。getContentResolver();