contentprovider2内容提供者
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.g160628_android_y226_contentprovider2.MainActivity"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="获取手机联系人" android:onClick="getcontent" /> </android.support.constraint.ConstraintLayout>
package com.example.g160628_android_y226_contentprovider2; import android.content.ContentResolver; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.View; public class MainActivity extends AppCompatActivity { private ContentResolver cr; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取内容访问者 cr = getContentResolver(); } public void getcontent(View view) { Uri uri = Uri.parse("content://com.android.contacts/raw_contacts"); Cursor cursor = cr.query(uri, null, null, null, null); while (cursor.moveToNext()) { int _id = cursor.getInt(cursor.getColumnIndex("_id")); String display_name = cursor.getString(cursor.getColumnIndex("display_name")); Log.i("test", _id + " " + display_name); Uri uriData = Uri.parse("content://com.android.contacts/raw_contacts/" + _id + "/data"); Cursor cursorData = cr.query(uriData, null, null, null, null); while (cursorData.moveToNext()) { String mimetype = cursorData.getString(cursorData.getColumnIndex("mimetype")); String data1 = cursorData.getString(cursorData.getColumnIndex("data1")); if ("vnd.android.cursor.item/phone_v2".equals(mimetype)) { Log.i("test", " " + mimetype + " " + data1); } } } } }concon