如何在android中通过蓝牙共享联系人?
我实现了一个应用程序,当单击列表活动时,我显示电话联系人列表(如屏幕截图)。我正在呼叫Intent.ACTION\u发送通过蓝牙发送联系人或名片,但它不工作。我被击中,请帮助我 这是我的密码:如何在android中通过蓝牙共享联系人?,android,bluetooth,contacts,android-contacts,Android,Bluetooth,Contacts,Android Contacts,我实现了一个应用程序,当单击列表活动时,我显示电话联系人列表(如屏幕截图)。我正在呼叫Intent.ACTION\u发送通过蓝牙发送联系人或名片,但它不工作。我被击中,请帮助我 这是我的密码: public class GetContactsDemo extends Activity { Button btnImport,btnAdd; ListView list; LazyAdapter adap; ArrayList<String> C
public class GetContactsDemo extends Activity {
Button btnImport,btnAdd;
ListView list;
LazyAdapter adap;
ArrayList<String> Cnames = new ArrayList<String>();
ArrayList<String> CphoneNo = new ArrayList<String>();
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnImport = (Button)findViewById(R.id.btnimport);
btnAdd = (Button)findViewById(R.id.btnAdd);
list = (ListView)findViewById(R.id.listView1);
//to import contacts
btnImport.setOnClickListener(new OnClickListener() {![enter image description here][2]
public void onClick(View v)
{
readContacts();
adap = new LazyAdapter(getApplicationContext());
list.setAdapter(adap);
}
});
//to add contact
btnAdd.setOnClickListener(new OnClickListener() {
public void onClick(View v)
{
Intent addcontact = new Intent(getApplicationContext(),AddingNewContactActivity.class);
startActivity(addcontact);
}
});
list.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3)
{
Toast.makeText(getApplicationContext(), ""+arg2, 1000).show();
Uri uri = Uri.parse("com.android.contacts/raw_contacts/2");
Intent i = new Intent(Intent.ACTION_SEND);
// i.setType("image/jpeg");
i.setType("text/x-vcard");
i.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(Intent.createChooser(i, "Send Contact"));
}
});
}
public void readContacts(){
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,
null, null, null, null);
if (cur.getCount() > 0) {
while (cur.moveToNext()) {
String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
String name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
if (Integer.parseInt(cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
System.out.println("name : " + name + ", ID : " + id);
Log.e("name","name-->"+name);
Cnames.add(name);
// get the phone number
Cursor pCur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",
new String[]{id}, null);
while (pCur.moveToNext()) {
String phone = pCur.getString(
pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
System.out.println("phone" + phone);
Log.e("phone","phone-->"+phone);
CphoneNo.add(phone);
}
pCur.close();
class LazyAdapter extends BaseAdapter
{
Context mcontext;
LayoutInflater inflater = null;
public LazyAdapter(Context context) {
this.mcontext = context;
inflater = (LayoutInflater) mcontext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
public int getCount()
{
return Cnames.size();
}
public Object getItem(int arg0)
{
return null;
}
public long getItemId(int arg0)
{
return arg0;
}
public View getView(int position, View v, ViewGroup arg2)
{
View vi = v;
vi = inflater.inflate(R.layout.inflate, null);
TextView txt = (TextView) vi.findViewById(R.id.txtname);
TextView txt1 = (TextView) vi.findViewById(R.id.txtphoneno);
txt.setText(Cnames.get(position));
txt1.setText(CphoneNo.get(position));
return vi;
}
}
}
公共类GetContactsDemo扩展活动{
按钮btnImport,btnAdd;
列表视图列表;
懒散的;
ArrayList Cnames=新的ArrayList();
ArrayList CphoneNo=新的ArrayList();
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnImport=(按钮)findviewbyd(R.id.btnImport);
btnAdd=(按钮)findviewbyd(R.id.btnAdd);
列表=(ListView)findViewById(R.id.listView1);
//导入联系人
btnImport.setOnClickListener(新的OnClickListener(){![在此处输入图像描述][2]
公共void onClick(视图v)
{
readContacts();
adap=新的LazyAdapter(getApplicationContext());
列表.设置适配器(adap);
}
});
//添加联系人
setOnClickListener(新的OnClickListener(){
公共void onClick(视图v)
{
Intent addcontact=newintent(getApplicationContext(),AddingNewContactActivity.class);
星触觉(addcontact);
}
});
list.setOnItemClickListener(新的OnItemClickListener(){
公共链接(AdapterView arg0、视图arg1、内部arg2、,
长arg3)
{
Toast.makeText(getApplicationContext(),“”+arg2,1000).show();
Uri=Uri.parse(“com.android.contacts/raw_contacts/2”);
意向i=新意向(意向.行动\发送);
//i.设置类型(“图像/jpeg”);
i、 设置类型(“文本/x-vcard”);
i、 putExtra(Intent.EXTRA_流,uri);
startActivity(Intent.createChooser(i,“发送联系人”);
}
});
}
公共联系人(){
ContentResolver cr=getContentResolver();
Cursor cur=cr.query(Contacts contract.Contacts.CONTENT\u URI,
空,空,空,空);
如果(cur.getCount()>0){
while(cur.moveToNext()){
字符串id=cur.getString(cur.getColumnIndex(ContactsContract.Contacts._id));
字符串名称=cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_name));
if(Integer.parseInt(cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER)))>0{
System.out.println(“名称:+name+”,ID:+ID);
Log.e(“名称”,“名称-->”+名称);
Cnames.add(姓名);
//获取电话号码
游标pCur=cr.query(ContactsContract.CommonDataTypes.Phone.CONTENT\u URI,null,
ContactsContract.CommonDataTypes.Phone.CONTACT_ID+“=?”,
新字符串[]{id},null);
while(pCur.moveToNext()){
String phone=pCur.getString(
pCur.getColumnIndex(ContactsContract.CommonDataTypes.Phone.NUMBER));
System.out.println(“电话”+电话);
Log.e(“电话”,“电话-->”+电话);
CphoneNo.add(电话);
}
pCur.close();
类LazyAdapter扩展了BaseAdapter
{
语境;
排气充气机=空;
公共LazyAdapter(上下文){
this.mcontext=上下文;
充气机=(充气机)mcontext
.getSystemService(上下文布局\充气机\服务);
}
public int getCount()
{
返回Cnames.size();
}
公共对象getItem(int arg0)
{
返回null;
}
公共长getItemId(int arg0)
{
返回arg0;
}
公共视图getView(内部位置、视图v、视图组arg2)
{
视图vi=v;
vi=充气机充气(右布局充气,空);
TextView txt=(TextView)vi.findviewbyd(R.id.txtname);
TextView txt1=(TextView)vi.findViewById(R.id.txtphoneno);
txt.setText(Cnames.get(position));
txt1.setText(CphoneNo.get(position));
返回vi;
}
}
}
提前谢谢