手机通讯录

仅导出手机联系人

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-permission android: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-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.SEND_SMS"/>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值