阅读背景:

安卓 读取 联系人

来源:互联网 
读取联系人

我主要说的是 我遇到的坑,
以下是我的 主要方法:

private void getContact() { if(ContextCompat.checkSelfPermission(this, Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[]{ Manifest.permission.READ_CONTACTS}, 1); }else { readContacts(); //读取联系人 } } private void readContacts() { Cursor cursor = null; try{ //查询联系人数据 cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,null,null,null); if(cursor!=null){ while(cursor.moveToNext()){ //获取联系人姓名 String name = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); //获取联系人电话号码 String number = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); ContanctBean contanctBean=new ContanctBean(name,number); Log.d("info","显示联系人数据=="+name+" "+number); stringList.add(contanctBean); } } }catch(Exception e){ e.printStackTrace(); }finally{ if(cursor != null){ cursor.close(); } } } @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { switch(requestCode){ case 1: if(grantResults.length >0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){ Toast.makeText(Main3Activity.this,"授权成功 读取联系人数据",Toast.LENGTH_LONG).show(); readContacts(); }else { //您拒绝了权限 Toast.makeText(Main3Activity.this,"您拒绝了 权限",Toast.LENGTH_LONG).show(); } } } private void getC



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: