'getContentResolver() is not working
I have a class name MyPhoneStateListener. Here, I want to use getContentResolver, but there is some problem in the class. It's not my main activity.
Cursor cur = getContentResolver()
.query(Calls.CONTENT_URI, projection, null, null, Calls.DATE +" desc");
Solution 1:[1]
To use getContentResolver inside another class which doesn't extends Activity/Service you should have a Context object.
Inside your MyPhoneStateListener class, in your constructor ask for a Context and save it, then when you need the content resolver use context.getContentResolver()
Example:
public class MyPhoneStateListener {
private Context context;
public MyPhoneStateListener(Context context) {
this.context = context;
}
public void someMethod() {
Cursor cur = context.getContentResolver()
.query(Calls.CONTENT_URI, projection, null, null, Calls.DATE +" desc");
}
}
Solution 2:[2]
Cursor cur = this.getActivity().getContentResolver() .query(Calls.CONTENT_URI, projection, null, null, Calls.DATE +" desc");
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | |
| Solution 2 | Andrea Gomez De Pablo |
