Android獲取手機聯(lián)系人電話號碼并返回結果
之前做了一個小練習需要用到獲取手機里聯(lián)系人的電話號碼,通過查閱相關的資料,自己嘗試寫了一個小例子,可以成功獲取。
首先需要在AndroidManifest.xml中獲取權限
<uses-permission android:name="android.permission.READ_CONTACTS"/>
xml布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="電話號碼是:"/> <EditText android:id="@+id/editNumber" android:layout_width="match_parent" android:layout_height="wrap_content" android:editable="false"/> <Button android:id="@+id/buttonQuary" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="查詢聯(lián)系人"/> </LinearLayout>
MainActivity.java
package com.getcontacts; import android.net.Uri; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.database.Cursor; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class MainActivity extends Activity { Button button; EditText editText; private Uri uri_DATA = Uri.parse("content://com.android.contacts/data"); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button) findViewById(R.id.buttonQuary); editText = (EditText) findViewById(R.id.editNumber); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub editText.setText(""); //做跳轉之前先把電話號碼清空 Intent intent = new Intent(Intent.ACTION_PICK, android.provider.ContactsContract.Contacts.CONTENT_URI); startActivityForResult(intent, 1); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); if(requestCode == 1) { //請求碼為1 Log.i("info","resultADD"); String strNumber = ""; if(data != null) { //判斷返回的intent是不是為空 Uri uri = data.getData(); Log.i("info", uri.toString()); //在log打印出來獲取的uri Cursor cursor = getContentResolver().query(uri, null, null, null, null); while(cursor.moveToNext()) { String strID = cursor.getString(cursor.getColumnIndex("name_raw_contact_id")); Cursor cursor2 = getContentResolver().query(uri_DATA, null, "raw_contact_id = " + strID + " and mimetype_id = 5", null, null); if(cursor2.moveToFirst()) { strNumber = cursor2.getString(cursor2.getColumnIndex("data1")); strNumber = strNumber.replace(" ", ""); strNumber = strNumber.replace("-", ""); } cursor2.close(); } cursor.close(); editText.setText(strNumber); } } } }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- Android獲取手機通訊錄、sim卡聯(lián)系人及調用撥號界面方法
- Android 獲取手機聯(lián)系人實例代碼詳解
- android利用ContentResolver訪問者獲取手機聯(lián)系人信息
- Android獲取手機聯(lián)系人信息
- Android讀取手機通訊錄聯(lián)系人到自己項目
- android如何獲取手機聯(lián)系人的數據庫示例代碼
- Android編程實現(xiàn)讀取手機聯(lián)系人、撥號、發(fā)送短信及長按菜單操作方法實例小結
- 淺談Android手機聯(lián)系人開發(fā)之增刪查改功能
- Android ContentProvider獲取手機聯(lián)系人實例
- Android ContentProvider實現(xiàn)手機聯(lián)系人讀取和插入
相關文章
Android編程實現(xiàn)canvas繪制柱狀統(tǒng)計圖功能【自動計算寬高及分度值、可左右滑動】
這篇文章主要介紹了Android編程實現(xiàn)canvas繪制柱狀統(tǒng)計圖功能,具備自動計算寬高及分度值及左右滑動的功能,涉及Android canvas繪圖操作相關技巧,需要的朋友可以參考下2017-01-01Android編程實現(xiàn)禁止系統(tǒng)鎖屏與解鎖亮屏的方法
這篇文章主要介紹了Android編程實現(xiàn)禁止系統(tǒng)鎖屏與解鎖亮屏的方法,實例分析了Android關閉屏幕、鎖屏及解鎖屏幕的相關技巧,需要的朋友可以參考下2015-12-12Android中TextView動態(tài)設置縮進距離的方法
項目需求如果在項目中第一行文字需要添加布局的情況我們應該怎么做呢,經過一番考慮和查找我最終選擇了縮進的方式解決這個問題,這篇文章主要給大家介紹了關于Android中TextView動態(tài)設置縮進距離的相關資料,需要的朋友可以參考下2022-04-04eclipse搭建android開發(fā)環(huán)境詳細步驟
本文主要介紹了eclipse搭建android開發(fā)環(huán)境詳細步驟,具有很好的參考價值。下面跟著小編一起來看下吧2017-03-03android RecycleView實現(xiàn)下拉刷新和上拉加載
這篇文章主要為大家詳細介紹了android RecycleView實現(xiàn)下拉刷新和上拉加載,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-06-06Android 如何實現(xiàn)彈窗順序&優(yōu)先級控制
這篇文章主要介紹了Android 如何實現(xiàn)彈窗順序&優(yōu)先級控制,幫助大家更好的理解和學習使用Android,感興趣的朋友可以了解下2021-03-03