手机通讯录
仅导出手机联系人
package com.example.test_tx; import android.os.Bundle; import android.provider.ContactsContract.CommonDataKinds.Phone; import android.app.Activity; import android.content.ContentResolver; import android.database.Cursor; import android.text.TextUtils; import android.view.Menu; import android.widget.TextView; public class MainActivity extends Activity { private String getQueryData(){ ContentResolver resolver=this.getContentResolver(); String[] columns = new String[] {Phone.DISPLAY_NAME,Phone.NUMBER}; Cursor cursor = resolver.query(Phone.CONTENT_URI, columns, null,null,"sort_key"); StringBuilder sb=new StringBuilder(); while (cursor.moveToNext()) { String name=cursor.getString(cursor.getColumnIndex(Phone.DISPLAY_NAME)); String number=cursor.getString(cursor.getColumnIndex(Phone.NUMBER)); if(TextUtils.isEmpty(number)){ continue; } sb.append(name).append("\n"). append("联系方式").append(number).append("\n").append("---------------------------------------------").append("\n"); } cursor.close(); return sb.toString(); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView tv=(TextView)findViewById(R.id.textView1); tv.setText(getQueryData()); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
权限
<uses-permissionandroid:name="android.permission.READ_CONTACTS"/>
导出手机联系人,并且实现拨号和发信息的功能
package com.example.lxrddh; import android.net.Uri; import android.os.Bundle; import android.provider.ContactsContract.CommonDataKinds.Phone; import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.app.Dialog; import android.content.ContentResolver; import android.content.DialogInterface; import android.content.Intent; import android.database.Cursor; import android.database.CursorWrapper; import android.telephony.PhoneNumberUtils; import android.text.TextUtils; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ListAdapter; import android.widget.ListView; import android.widget.SimpleCursorAdapter; import android.widget.Toast; public class MainActivity extends Activity { ListView listView; String number; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final ListView listView=(ListView)findViewById(R.id.listView); Cursor cur=getContentResolver().query(Phone.CONTENT_URI,null, null, null, "sort_key"); startManagingCursor(cur); final ListAdapter adapter=new SimpleCursorAdapter(this, android.R.layout.simple_list_item_2,cur,new String[]{ Phone.DISPLAY_NAME,Phone.NUMBER}, new int[]{android.R.id.text1,android.R.id.text2}); listView.setAdapter(adapter); listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub CursorWrapper wrapper=(CursorWrapper)listView.getItemAtPosition(arg2); int columnIndex=wrapper.getColumnIndex(Phone.NUMBER); if(!wrapper.isNull(columnIndex)){ final String number=wrapper.getString(columnIndex); if(PhoneNumberUtils.isGlobalPhoneNumber(number)){ Builder builder=new AlertDialog.Builder(MainActivity.this); builder.setTitle("请选择"); builder.setPositiveButton("通话",new AlertDialog.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { // TODO Auto-generated method stub startActivity( new Intent(Intent.ACTION_DIAL,Uri.parse("tel://"+ number))); } }); builder.setNegativeButton("短信",new AlertDialog.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { startActivity (new Intent(Intent.ACTION_SENDTO,Uri.parse("smsto:"+ number))); } }); builder.create().show(); } } } }); } private void openToast(String str){ Toast.makeText(this,str,Toast.LENGTH_SHORT).show(); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
权限
<uses-permissionandroid:name="android.permission.READ_CONTACTS"/>
<uses-permissionandroid:name="android.permission.CALL_PHONE"/>
<uses-permissionandroid:name="android.permission.SEND_SMS"/>
相关推荐
huha 2020-10-16
xfcyhades 2020-11-20
sgafdsg 2020-11-04
Michael 2020-11-03
fengyeezju 2020-10-14
ziyexiaoxiao 2020-10-14
业余架构师 2020-10-09
OuNuo0 2020-09-29
moses 2020-09-22
Angelia 2020-09-11
qinxu 2020-09-10
刘炳昭 2020-09-10
Nostalgiachild 2020-09-07
Nostalgiachild 2020-08-17
leavesC 2020-08-14
一青年 2020-08-13
AndroidAiStudy 2020-08-07
ydc0 2020-07-30
绿豆饼 2020-07-28