jav*_*ser 1 android android-contentprovider
我正在尝试在活动之外查询联系人内容提供商.但是,managedQuery是一种Activity的方法.是否有任何其他类/方法可以使用而不是managedQuery?
这是我的代码:
class MyActivity extends Activity {
private Cursor getContacts() {
Uri uri = ContactsContract.Contacts.CONTENT_URI;
String[] projection = new String[] { ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME,
ContactsContract.Contacts.HAS_PHONE_NUMBER };
String where = null;
String[] whereArgs = null;
String sortOrder = ContactsContract.Contacts.DISPLAY_NAME
+ " COLLATE LOCALIZED ASC";
return context.managedQuery(uri, projection, where, whereArgs, sortOrder);
}
}
Run Code Online (Sandbox Code Playgroud)
(调用Context.getContentResolver()来获取ContentResolver的实例.无论如何你都需要一个Context,但它不一定是Acitivity)
Activity.managedQuery()负责处理与Cursor相关的Activity生命周期.ContentResolver.query()不会这样做,因此您必须确保自己关闭并重新查询光标等.
| 归档时间: |
|
| 查看次数: |
4296 次 |
| 最近记录: |