如何向android手機通訊錄中新增聯絡人
直接在手機的通訊錄的資料庫中新增列表
相關程式碼如下
package com.example.test; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.os.RemoteException; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.TextView; import java.util.ArrayList; import android.content.ContentProviderOperation; import android.content.ContentProviderResult; import android.content.ContentResolver; import android.content.OperationApplicationException; import android.net.Uri; import android.provider.ContactsContract; import android.test.AndroidTestCase; import android.util.Log; public class MainActivity extends ActionBarActivity { private static final String TAG = "ContactsWriteTest"; //[content://com.android.contacts/raw_contacts] private static final Uri RAW_CONTACTS_URI = ContactsContract.RawContacts.CONTENT_URI; //[content://com.android.contacts/data] private static final Uri DATA_URI = ContactsContract.Data.CONTENT_URI; private static final String ACCOUNT_TYPE = ContactsContract.RawContacts.ACCOUNT_TYPE; private static final String ACCOUNT_NAME = ContactsContract.RawContacts.ACCOUNT_NAME; private static final String RAW_CONTACT_ID = ContactsContract.Data.RAW_CONTACT_ID; private static final String MIMETYPE = ContactsContract.Data.MIMETYPE; private static final String NAME_ITEM_TYPE = ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE; private static final String DISPLAY_NAME = ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME; private static final String PHONE_ITEM_TYPE = ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE; private static final String PHONE_NUMBER = ContactsContract.CommonDataKinds.Phone.NUMBER; private static final String PHONE_TYPE = ContactsContract.CommonDataKinds.Phone.TYPE; private static final int PHONE_TYPE_HOME = ContactsContract.CommonDataKinds.Phone.TYPE_HOME; private static final int PHONE_TYPE_MOBILE = ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE; private static final String EMAIL_ITEM_TYPE = ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE; private static final String EMAIL_DATA = ContactsContract.CommonDataKinds.Email.DATA; private static final String EMAIL_TYPE = ContactsContract.CommonDataKinds.Email.TYPE; private static final int EMAIL_TYPE_HOME = ContactsContract.CommonDataKinds.Email.TYPE_HOME; private static final int EMAIL_TYPE_WORK = ContactsContract.CommonDataKinds.Email.TYPE_WORK; private static final String AUTHORITY = ContactsContract.AUTHORITY; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button bt=(Button)findViewById(R.id.bt); bt.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Log.i("TEST", "button onClick"); TextView TextView1=(TextView)findViewById(R.id.view); ArrayList<ContentProviderOperation> operations = new ArrayList<ContentProviderOperation>(); ContentProviderOperation operation = ContentProviderOperation.newInsert(RAW_CONTACTS_URI) .withValue(ACCOUNT_TYPE, null) .withValue(ACCOUNT_NAME, null) .build(); operations.add(operation); //新增聯絡人名稱操作 operation = ContentProviderOperation.newInsert(DATA_URI) .withValueBackReference(RAW_CONTACT_ID, 0) .withValue(MIMETYPE, NAME_ITEM_TYPE) .withValue(DISPLAY_NAME, "Scott Liu") .build(); operations.add(operation); //新增家庭座機號碼 operation = ContentProviderOperation.newInsert(DATA_URI) .withValueBackReference(RAW_CONTACT_ID, 0) .withValue(MIMETYPE, PHONE_ITEM_TYPE) .withValue(PHONE_TYPE, PHONE_TYPE_HOME) .withValue(PHONE_NUMBER, "01034567890") .build(); operations.add(operation); //新增移動手機號碼 operation = ContentProviderOperation.newInsert(DATA_URI) .withValueBackReference(RAW_CONTACT_ID, 0) .withValue(MIMETYPE, PHONE_ITEM_TYPE) .withValue(PHONE_TYPE, PHONE_TYPE_MOBILE) .withValue(PHONE_NUMBER, "13534567890") .build(); operations.add(operation); //新增家庭郵箱 operation = ContentProviderOperation.newInsert(DATA_URI) .withValueBackReference(RAW_CONTACT_ID, 0) .withValue(MIMETYPE, EMAIL_ITEM_TYPE) .withValue(EMAIL_TYPE, EMAIL_TYPE_HOME) .withValue(EMAIL_DATA, "
[email protected]") .build(); operations.add(operation); //新增工作郵箱 operation = ContentProviderOperation.newInsert(DATA_URI) .withValueBackReference(RAW_CONTACT_ID, 0) .withValue(MIMETYPE, EMAIL_ITEM_TYPE) .withValue(EMAIL_TYPE, EMAIL_TYPE_WORK) .withValue(EMAIL_DATA, "[email protected]") .build(); operations.add(operation); ContentResolver resolver = getBaseContext().getContentResolver(); //批量執行,返回執行結果集 ContentProviderResult[] results = null; try { results = resolver.applyBatch(AUTHORITY, operations); } catch (RemoteException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (OperationApplicationException e) { // TODO Auto-generated catch block e.printStackTrace(); } for (ContentProviderResult result : results) { Log.i(TAG, result.uri.toString()); TextView1.setText(result.uri.toString()); } } }); } @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; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }
特別注意在開啟通訊錄的資料庫的許可權
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
相關推薦
如何向android手機通訊錄中新增聯絡人
直接在手機的通訊錄的資料庫中新增列表 相關程式碼如下 package com.example.test; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import
android 獲取通訊錄中同一聯絡人的多個號碼
public static void fetchContact(Context context) { List<ContactsBean> list = new ArrayList<>(); ContentResolver cr = context.getC
在通訊錄中新增聯絡人統計功能
packages/apps/Contacts/src/com/android/contacts/list/DefaultContactBrowseListFragment.java --- a/alps/packages/apps/Contacts/src/com/andr
android從通訊錄中選擇聯絡人並讀取號碼
1.Manifest檔案中新增許可權配置: <uses-permission android:name="android.permission.WRITE_CONTACTS"/> <uses-permission android:name
Android訪問通訊錄和新增聯絡人
package com.example.test; import java.util.ArrayList; import android.content.ContentProviderOperation;
Android 手機通訊錄開發時給聯絡人新增頭像失敗的坑
在給聯絡人新增頭像程式碼 Bitmap photo = ...; // 將 Bitmap 轉為 byte[] byte[] bytes = LshImageUtils.bitmap2Bytes(photo); // 新增聯絡人, 插入名字和頭像 (LshC
android studio和github進行關聯和如何向README.md檔案中新增圖片說明
今天試了一下,在github裡面提交了簡單的工程檔案。挺好用的。 github越來越多的開發者參與,以後會經常參與其中。廢話不多說,幹活來啦! 如何使AS和github關聯 現在android開發基本都是使用android studio.在AS中,可以
Android手機通訊錄的讀取、新增、刪除、查詢
Android聯絡人資料庫檔案(contact2.db) 有研究過手機通訊錄資料的童鞋肯定知道一個數據庫檔案:目前是contact2.db(哥的手機是Android4.04的) 在此路徑下可以找到:/data/data/com.android.providers.c
Android從通訊錄中讀取系統聯絡人
第一步、先建立一個Contacts.java實體類,用於表示聯絡人。package com.t20.contacts.entity; import java.io.Serializable; public class Contacts implements Seriali
Android 手機通訊錄修改聯絡人失敗的坑
一般我們新增聯絡人的時候,是通過查詢 raw_contacts 表的 _id 欄位,獲取最末尾的 _id 值 +1 便是該表中需要新增的 contact_id 值。 一般情況下,contact_id 的值應該和 _id 的值是相等的。但是在第三方應該的大量
Android學習--動態向SPinner控制元件中新增資料
android中的spinner動態載入資料: GroupPurchase.java Java程式碼 package jftt.txlong; import java.util.ArrayList; import java.util.List; import android.app.A
emWin中向LISTVIEW單元格中新增資訊
如果LISTVIEW原為空表,在向單元格中新增資訊前,需先新增行:LISTVIEW_AddRow(hItem, NULL); 然後再使用函式void LISTVIEW_SetItemText &
Android在activity中新增背景
android:background="@drawable/ming" 這個是我們在佈局檔案中新增的,就是下面的其中一條 xmlns:tools="http://schemas.android.co
向caffe的docker中新增opencv並儲存
首先學會安裝opencv,因為caffe的docker是沒有源的,所以需要手動新增進去 echo "deb http://de.archive.ubuntu.com/ubuntu precise main restricted universe" | sudo tee
如何向Github README.md中新增圖片
1.先把圖片上傳到你的專案中;然後在github網站上按路徑開啟圖片,如下開啟的圖片連結: 2.複製圖片的地址 然後在README.md寫上: ![這裡隨便寫文字](你剛複製的圖片路徑) 注意 上面的感嘆號和中括號和小括號之間不能有空格(都是英文狀態下的)
Apple允許向TestFlight測試服務中新增最多1000名外部測試者
Apple已經宣佈 其旗下的TestFlight Beta測試服務現在允許開發者通過iTunesConnect新增最多1000名外部測試者。 Apple起初是在WWDC 2014大會上宣佈他們從 Burstly收購 的TestFlight會融合到iOS開發工具套件中。
向動態連結庫中新增類和資源-並訪問動態連結庫中的類和資源
1#define EXPORTDLL _declspec(dllimport); //定義一個巨集EXPORTDLL class CShowDlg{ public: virtual void _stdcall ShowNote(char *pszText)//客戶端想要訪
向maven web專案中新增spring mvc依賴的jar包
使用maven進行專案管理的優勢之一就是maven可以幫我們管理專案建設中所使用的jar包,我們只需要在maven專案下的pox.xml中向dependencies下新增所需要的jar包資訊(包括groupId、artifactid、version)即可,這
向陣列的json中新增資料
1、往資料裡新增json字串var arr = [] var json = {"name":"caocao","sex":"男"} arr.push(json) console.log(arr)結果:[{"name":"caocao","sex":"男"}]2、往陣列的jso
關於js動態向下拉列表中新增資料
在網上找的,經過試驗還不錯,反正很適合我,直接。 大體的思路就是: var objSelect = document.getElementById("leixingwx");//獲得select標籤物