AndroidはContentProviderで連絡先情報を取得 2928 ワード /** * @author myh * @create 2018/9/27 15:44 * @Description */ public class a extends AppCompatActivity { private ContentResolver cr; private List> data; private ListView lv_main_list; private SimpleAdapter simpleAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.a); lv_main_list = (ListView) findViewById(R.id.lv_main_list); // cr = getContentResolver(); data = new ArrayList>(); // simpleAdapter = new SimpleAdapter(this, data, android.R.layout.simple_list_item_2, new String[]{"names", "phones"}, new int[]{android.R.id.text1, android.R.id.text2}); lv_main_list.setAdapter(simpleAdapter); } public void getContacts(View view) { Cursor cursor = cr.query(Uri.parse("content://com.android.contacts/raw_contacts"), null, null, null, null); while (cursor.moveToNext()) { Map map = new HashMap(); int id = cursor.getInt(cursor.getColumnIndex("_id")); String displayName = cursor.getString(cursor.getColumnIndex("display_name")); Log.i("test", id + " " + displayName); map.put("names", displayName); // Cursor cursor2 = cr.query(Uri.parse("content://com.android.contacts/raw_contacts/" + id + "/data"), null, null, null, null); while (cursor2.moveToNext()) { //int type = cursor2.getInt(cursor2.getColumnIndex("mimetype_id")); String type = cursor2.getString(cursor2.getColumnIndex("mimetype")); String data1 = null; if ("vnd.android.cursor.item/phone_v2".equals(type)) { data1 = cursor2.getString(cursor2.getColumnIndex("data1")); Log.i("test", " " + type + " " + data1); map.put("phones", data1); } } data.add(map); } // simpleAdapter.notifyDataSetChanged(); } } //レイアウト リストファイルに連絡先を設定する権限が必要です(AndroidManifest.xml) IMX 6シリアルポートハードウェアフロー制御 DWZ(JUI)チュートリアルセッションタイムアウト操作について