簡體   English   中英

如何在Android中調用getContentResolver()?

[英]How can getContentResolver() be called in Android?

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

我有這樣的情況:
我有一個活動A,它調用類B的方法myFunc()而不是活動。
因此,在BI類中必須使用getContentResolver() 我直接叫getContentResolver() 顯示錯誤。 然后我從活動中調用myFunc(Acitivy act) ,並調用了act.getContentResolver()來解決了我的問題。 這是調用getContentResolver()的唯一方法,這意味着它可以在帶有活動的上下文中使用,也可以單獨使用。

getContentResolver()android.content.Context類的方法,因此要調用它,您肯定需要Context的實例(例如Activity或Service)。

您可以這樣使用:

getApplicationContext().getContentResolver()

在適當的背景下。

當您使用Cursor對象查詢Contact ,也會使用getContentResolver()方法。 我已經使用getContentResolver()查詢Android手機的“ Contacts應用程序,從一個人的電話號碼中查找聯系人信息,以將其包含在我的應用程序中。 查詢中的不同元素(如下所示)表示所需的聯系方式以及是否應訂購的聯系方式,等等。這是另一個示例

從Android文檔的“ 內容提供商基礎”頁面。

// 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
import android.content.Context;
import android.content.ContentResolver;

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

這對我有用getBaseContext();

  //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);

訪問Kotlin中的contentResolver,內部活動,對象類和...:

Application().contentResolver

一種解決方案是從context獲取ContentResolver

ContentResolver contentResolver = getContext().getContentResolver();

鏈接到文檔: ContentResolver

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM