2010-09-20 18 views
39

Quiero saber el contexto en el que se llama getContentResolver()?¿Cómo se puede llamar getContentResolver() en Android?

tengo un escenario como este:
que tienen una actividad A que llama a un método myFunc() de la clase B, que no es una actividad.
Entonces, en la clase B tengo que usar getContentResolver(). Llamé directamente al getContentResolver(). Estaba mostrando error. Luego llamé al myFunc(Acitivy act) desde la actividad y llamé al act.getContentResolver() que resolvió mi problema. ¿Es esta la única manera de llamar al getContentResolver(), lo que significa que se puede usar en contexto con la actividad o se puede usar solo.

Respuesta

72

getContentResolver() es el método de la clase android.content.Context, por lo que para llamarlo definitivamente necesita una instancia de contexto (actividad o servicio, por ejemplo).

22

Se puede utilizar la siguiente manera:

getApplicationContext().getContentResolver() 

con el contexto adecuado.

+19

'getApplicationContext()' no está definido también cuando tiene que usarlo en una clase que no es Actividad. –

+0

Sí, en ese caso no puede usar de esta manera –

+0

Desde el contexto de un fragmento puede usar getActivity(). GetContentResolver() –

6

El método getContentResolver() también se utiliza cuando consulta un Contact, utilizando un objeto Cursor. He usado getContentResolver() para consultar la aplicación del teléfono Android Contacts, buscando información de contacto del número de teléfono de una persona, para incluirla en mi aplicación. Los diferentes elementos de una consulta (como se muestra a continuación) representan el tipo de información de contacto que desea, y si deben ordenarse, etc. Aquí hay otro example.

De la página Content Provider Basics de los documentos de 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 
Cuestiones relacionadas