Android提供了一个名为ContentResolver的类,可以用于从Android设备的数据库中提取联系人和浏览器书签。下面是一个示例代码,演示如何使用ContentResolver提取联系人列表和浏览器书签。
import android.content.ContentResolver;
import android.database.Cursor;
import android.provider.ContactsContract;
public class ContactExtractor {
public static void extractContacts(ContentResolver contentResolver) {
Cursor cursor = contentResolver.query(ContactsContract.Contacts.CONTENT_URI,
null, null, null, null);
if (cursor != null && cursor.getCount() > 0) {
while (cursor.moveToNext()) {
String contactName = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
// Do something with the contact name
}
}
if (cursor != null) {
cursor.close();
}
}
}
要提取联系人列表,您需要传递一个ContentResolver实例给extractContacts()方法。您可以在Activity或Fragment中调用此方法,如下所示:
ContactExtractor.extractContacts(getContentResolver());
import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.provider.Browser;
public class BookmarkExtractor {
public static void extractBookmarks(ContentResolver contentResolver) {
Uri uri = Browser.BOOKMARKS_URI;
String[] projection = {Browser.BookmarkColumns.TITLE, Browser.BookmarkColumns.URL};
String selection = Browser.BookmarkColumns.BOOKMARK + " = 1";
Cursor cursor = contentResolver.query(uri, projection, selection, null, null);
if (cursor != null && cursor.getCount() > 0) {
while (cursor.moveToNext()) {
String title = cursor.getString(cursor.getColumnIndex(Browser.BookmarkColumns.TITLE));
String url = cursor.getString(cursor.getColumnIndex(Browser.BookmarkColumns.URL));
// Do something with the bookmark title and URL
}
}
if (cursor != null) {
cursor.close();
}
}
}
要提取浏览器书签,您需要传递一个ContentResolver实例给extractBookmarks()方法。您可以在Activity或Fragment中调用此方法,如下所示:
BookmarkExtractor.extractBookmarks(getContentResolver());
请注意,对于非谷歌浏览器,您可能需要根据实际浏览器的内容提供者URI和列名进行调整。上述示例代码适用于默认浏览器。