當前位置:首頁 » 安卓系統 » android通訊錄代碼

android通訊錄代碼

發布時間: 2023-09-05 00:53:05

Ⅰ android 開發製作通訊錄,怎麼實現按撥號鍵對當前聯系人撥號

通訊錄是用listview做的嗎?如果是那麼用撥號鍵的button對象setTag吧電話號存起來,然後在監聽事件內取出來,這樣就能保證每一行的號碼都是相對應的了。例如。。
btn.setTag(p.telephone);
btn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + v.getTag()));
startActivity(intent);
}
});

Ⅱ Android編程,根據姓名獲得手機通訊錄中的電話號碼

java">importcn.teachcourse.R;

/**
*[email protected]/5/5.
*/
{
privatestaticfinalStringTAG=PhoneNameActivity.class.getSimpleName();
privateEditTextet;

publicstaticvoidstart(Contextcontext){
start(context,null);
}

publicstaticvoidstart(Contextcontext,Intentextras){
Intentintent=newIntent();
intent.setClass(context,PhoneNameActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
|Intent.FLAG_ACTIVITY_SINGLE_TOP);
if(extras!=null){
intent.putExtras(extras);
}
context.startActivity(intent);
}

@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_phone_name);
et=(EditText)this.findViewById(R.id.mobile);
}

publicvoidgetTelClick(Viewview){
Stringname=et.getText().toString().trim();
number(name);
}

/**
*通過輸入獲取電話號碼
*/
publicvoidnumber(Stringname){
//使用ContentResolver查找聯系人數據
Cursorcursor=getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,null,null,null,null);
//遍歷查詢結果,找到所需號碼
while(cursor.moveToNext()){
//獲取聯系人ID
StringcontactId=cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
//獲取聯系人的名字
StringcontactName=cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
if(name.equals(contactName)){
//使用ContentResolver查找聯系人的電話號碼
Cursorphone=getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID+"="+contactId,null,null);
if(phone.moveToNext()){
StringphoneNumber=phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
Toast.makeText(this,phoneNumber+"TeachCourse——blog。。。",Toast.LENGTH_SHORT).show();
Log.d(TAG,"電話:"+phoneNumber);
break;
}

}
}
}
}

1、修改getTelClick()方法

2、修改Toast麵包屑提示

3、修改獲取聯系人名字方法

4、位置稍微調整

Ⅲ 如何調用android通訊錄

這個過程有三步:
1)許可向你的應用程序的manifest中添加讀取通訊錄數據的許可
<uses-permission android:name="android.permission.READ_CONTACTS"/

2)調用Contact Picker
在你的activity中,創建一個Intent,用來請求系統查找一個能夠執行一個從Contacts URI的項目中發出的PICK動作的activity,
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
調用startActivityForResult在Intent中傳遞(和一個整數的請求代碼,在這個例子中是PICK CONTACT )。這將導致android啟動一個已經被等級的activity,用來支持在People.CONTENT URI上的ACTION_PICK ,然後當按下選擇(或者取消)的時候返回到這個activity。startActivityForResult(intent, PICK_CONTACT);

3)仍然在你的activity中,重寫onActivityResul方法來監聽在你的第二個步驟中啟動的activi'select a contact' activity的回調。你應該檢查反饋的請求代碼是否匹配你的期望值,結果代碼是否是 RESULT_OK。
通過在數據Intent參數中調用getData()你可以獲得選擇的聯系人的URI。為了獲得選擇的聯系人的名字你需要使用URI從返回的游標中創建一個新的查詢和提取的參數。
@Overridepublic void onActivityResult(int reqCode, int resultCode, Intent data) {
super.onActivityResult(reqCode, resultCode, data);
switch (reqCode) {
case (PICK_CONTACT) :
if (resultCode == Activity.RESULT_OK) {
Uri contactData = data.getData();
Cursor c = managedQuery(contactData, null, null, null, null);
if (c.moveToFirst()) {
String name = c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));}}break;}}

Ⅳ android編程,怎麼刪除通訊錄中的聯系人

android聯系人是使用內嵌套的資料庫進行保存的,所有隻要在資料庫中找到相應的ID就可以進行刪除了。


CursorcontactsCur=cr.query(ContactsContract.Contacts.CONTENT_URI,null,null,null,null);
while(contactsCur.moveToNext()){
//獲取ID
StringrawId=contactsCur.getString(contactsCur.getColumnIndex(ContactsContract.Contacts._ID));
//刪除
Stringwhere=ContactsContract.Data._ID+"=?";
String[]whereparams=newString[]{rawId};
getContentResolver().delete(ContactsContract.RawContacts.CONTENT_URI,where,whereparams);
}

Ⅳ android開發怎樣獲取通訊錄聯系人信息

  • 要獲取通訊錄的聯系人信息,只有通過系統聯系人應用的內容提供者,才能訪問到聯系人資料庫,下面有一個代碼演示

  • 代碼演示

    • privateArrayList<HashMap<String,String>>readContact(){
      //首先,從raw_contacts中讀取聯系人的id("contact_id")
      //其次,根據contact_id從data表中查詢出相應的電話號碼和聯系人名稱
      //然後,根據mimetype來區分哪個是聯系人,哪個是電話號碼
      UrirawContactsUri=Uri
      .parse("content://com.android.contacts/raw_contacts");
      UridataUri=Uri.parse("content://com.android.contacts/data");
      ArrayList<HashMap<String,String>>list=newArrayList<>();
      //從raw_contacts中讀取聯系人的id("contact_id")
      CursorrawContactsCursor=getContentResolver().query(rawContactsUri,
      newString[]{"contact_id"},null,null,null);
      if(rawContactsCursor!=null){
      while(rawContactsCursor.moveToNext()){
      StringcontactId=rawContactsCursor.getString(0);
      //System.out.println(contactId);
      //根據contact_id從data表中查詢出相應的電話號碼和聯系人名稱,實際上查詢的是視圖view_data
      CursordataCursor=getContentResolver().query(dataUri,
      newString[]{"data1","mimetype"},"contact_id=?",
      newString[]{contactId},null);
      if(dataCursor!=null){
      HashMap<String,String>map=newHashMap<String,String>();
      while(dataCursor.moveToNext()){
      Stringdata1=dataCursor.getString(0);
      Stringmimetype=dataCursor.getString(1);
      //System.out.println(contactId+";"+data1+";"
      //+mimetype);
      if("vnd.android.cursor.item/phone_v2".equals(mimetype)){
      map.put("phone",data1);
      }elseif("vnd.android.cursor.item/name"
      .equals(mimetype)){
      map.put("name",data1);
      }
      }
      list.add(map);
      dataCursor.close();
      }
      }
      rawContactsCursor.close();
      }
      returnlist;
      }


    • 手機聯系人圖片:


熱點內容
百度雲zip怎麼解壓 發布:2025-02-01 16:31:59 瀏覽:562
pmc密碼是什麼意思 發布:2025-02-01 16:28:49 瀏覽:783
蘋果手錶和安卓手錶哪個好用 發布:2025-02-01 16:28:07 瀏覽:582
上海電信上傳 發布:2025-02-01 16:22:10 瀏覽:982
有什麼好的雙u主板配置 發布:2025-02-01 16:18:17 瀏覽:176
編程漩渦 發布:2025-02-01 16:01:51 瀏覽:328
司機會所訪問 發布:2025-02-01 15:54:11 瀏覽:780
家用電腦改成伺服器並讓外網訪問 發布:2025-02-01 15:30:23 瀏覽:354
javac工資 發布:2025-02-01 15:24:28 瀏覽:23
如何刪除伺服器登錄賬號 發布:2025-02-01 15:21:05 瀏覽:498