1. 程式人生 > >Android將聯絡人的資訊傳遞到自帶新建聯

Android將聯絡人的資訊傳遞到自帶新建聯

我在做一個專案時,遇到了一個需求,我做的是中國移動的一卡多號專案。就是在一卡多號中的某個副號下面我新建了一個聯絡人這個聯絡人不儲存到系統中。那麼我點選某個聯絡人客戶希望將此聯絡人新增到系統手機通訊錄中並且希望可以編輯此聯絡人的資訊。那麼我就想辦法將此聯絡人的資訊傳遞給系統自帶的新建聯絡人介面中去。我查看了ContactsContract的原始碼,基本資訊都是可以帶進去了。但是有些資訊不可以帶進去至今還不知道是為什麼。以下是我總結記錄的:

package com.alnton.EditContactsDemo;

import android.app.Activity;

import android.content.Intent;

import android.net.Uri;

import android.os.Bundle;

/**

* <新建聯絡人別且將聯絡人的資訊傳遞過去>

* @author 王乾州

*/

public class EditContactsDemoActivity extends Activity

{

@Override

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

Uri insertUri = android.provider.ContactsContract.Contacts.CONTENT_URI;

Intent intent = new Intent(Intent.ACTION_INSERT, insertUri);

/**

* 聯絡人姓名

*/

intent.putExtra(android.provider.ContactsContract.Intents.Insert.NAME, “王乾州”);

/**

* 號碼型別

*/

intent.putExtra(android.provider.ContactsContract.Intents.Insert.PHONE, “12345678″);

intent.putExtra(android.provider.ContactsContract.Intents.Insert.PHONE_TYPE, 9);

intent.putExtra(android.provider.ContactsContract.Intents.Insert.SECONDARY_PHONE, “123″);

intent.putExtra(android.provider.ContactsContract.Intents.Insert.SECONDARY_PHONE_TYPE, 15);

intent.putExtra(android.provider.ContactsContract.Intents.Insert.TERTIARY_PHONE, “888″);

intent.putExtra(android.provider.ContactsContract.Intents.Insert.TERTIARY_PHONE_TYPE, 17);

/**

* 郵箱型別

*/

intent.putExtra(android.provider.ContactsContract.Intents.Insert.EMAIL, “[email protected]”);

intent.putExtra(android.provider.ContactsContract.Intents.Insert.EMAIL_TYPE, 1);

intent.putExtra(android.provider.ContactsContract.Intents.Insert.SECONDARY_EMAIL, “[email protected]”);

intent.putExtra(android.provider.ContactsContract.Intents.Insert.SECONDARY_EMAIL_TYPE, 2);

intent.putExtra(android.provider.ContactsContract.Intents.Insert.TERTIARY_EMAIL, “[email protected]”);

intent.putExtra(android.provider.ContactsContract.Intents.Insert.TERTIARY_EMAIL_TYPE, 4);

/**

* IM型別

*/

intent.putExtra(android.provider.ContactsContract.Intents.Insert.IM_HANDLE, “2434677097″);

intent.putExtra(android.provider.ContactsContract.Intents.Insert.IM_PROTOCOL, 4);

/**

* 備註

*/

intent.putExtra(android.provider.ContactsContract.Intents.Insert.NOTES, “備註”);

/**

* 職務

*/

intent.putExtra(android.provider.ContactsContract.Intents.Insert.JOB_TITLE, “軟體工程師”);

/**

* 公司

*/

intent.putExtra(android.provider.ContactsContract.Intents.Insert.COMPANY, “中軟國際”);

/**

* 網站

*/

// intent.putExtra(android.provider.ContactsContract.CommonDataKinds.Website.URL, “http://www.alnton.com”);

/**

* 暱稱

*/

// intent.putExtra(android.provider.ContactsContract.CommonDataKinds.Nickname.NAME, “alnton”);

/**

* 頭像

* 引數為BLOB型別

*/

// intent.putExtra(android.provider.ContactsContract.CommonDataKinds.Photo.PHOTO, );

/* PS:網站、暱稱、頭像不能傳遞過去不知道為什麼,可能那個介面只接收android.provider.ContactsContract.Intents.Insert裡面的引數吧 */

startActivity(intent);

}

}

以下是我根據原始碼裡總結的電話、郵箱、IM等的型別:

package com.alnton.EditContactsDemo;

/**

* <手機,郵箱,IM等的型別>

* @author 王乾州

*/

public class interfaceDemo

{

/**

* 手機型別

*/

public static final class Phone

{

/* 住宅 */

public static final int TYPE_HOME = 1;

/* 手機 */

public static final int TYPE_MOBILE = 2;

/* 單位 */

public static final int TYPE_WORK = 3;

/* 單位傳真 */

public static final int TYPE_FAX_WORK = 4;

/* 住宅傳真 */

public static final int TYPE_FAX_HOME = 5;

/* 尋呼機 */

public static final int TYPE_PAGER = 6;

/* 其他 */

public static final int TYPE_OTHER = 7;

/* 回撥電話 */

public static final int TYPE_CALLBACK = 8;

/* 車載電話 */

public static final int TYPE_CAR = 9;

/* 公司總機 */

public static final int TYPE_COMPANY_MAIN = 10;

/* ISDN */

public static final int TYPE_ISDN = 11;

/* 總機 */

public static final int TYPE_MAIN = 12;

/* 其他傳真 */

public static final int TYPE_OTHER_FAX = 13;

/* 無線裝置 */

public static final int TYPE_RADIO = 14;

/* 電報 */

public static final int TYPE_TELEX = 15;

/* TTY TDD */

public static final int TYPE_TTY_TDD = 16;

/* 單位手機 */

public static final int TYPE_WORK_MOBILE = 17;

/* 單位尋呼機 */

public static final int TYPE_WORK_PAGER = 18;

/* 助理 */

public static final int TYPE_ASSISTANT = 19;

/* 彩信 */

public static final int TYPE_MMS = 20;

}

/**

* 郵箱型別

*/

public static final class Email

{

/* 家用個人郵箱 */

public static final int TYPE_HOME = 1;

/* 單位郵箱 */

public static final int TYPE_WORK = 2;

/* 其他郵箱 */

public static final int TYPE_OTHER = 3;

/* 手機郵箱 */

public static final int TYPE_MOBILE = 4;

}

/**

* IM型別

*/

public static final class IM

{

/**

* 來賓IM

*/

public static final int PROTOCOL_CUSTOM = -1;

/**

* AIM

*/

public static final int PROTOCOL_AIM = 0;

/**

* MSN

*/

public static final int PROTOCOL_MSN = 1;

/**

* 雅虎

*/

public static final int PROTOCOL_YAHOO = 2;

/**

* Skype

*/

public static final int PROTOCOL_SKYPE = 3;

/**

* QQ

*/

public static final int PROTOCOL_QQ = 4;

/**

* Google Talk

*/

public static final int PROTOCOL_GOOGLE_TALK = 5;

/**

* ICQ

*/

public static final int PROTOCOL_ICQ = 6;

/**

* Jabber

*/

public static final int PROTOCOL_JABBER = 7;

/**

* 自定義

*/

public static final int PROTOCOL_NETMEETING = 8;

}

}

相關推薦

Android聯絡人資訊傳遞新建

我在做一個專案時,遇到了一個需求,我做的是中國移動的一卡多號專案。就是在一卡多號中的某個副號下面我新建了一個聯絡人這個聯絡人不儲存到系統中。那麼我點選某個聯絡人客戶希望將此聯絡人新增到系統手機通訊錄中並且希望可以編輯此聯絡人的資訊。那麼我就想辦法將此聯絡人的資訊傳遞給系統自帶的新建聯絡人介面中去。我查看了C

Android新增資料到系統聯絡人介面

package com.ylt.contactsDemo; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android

Android分享---調用系統的分享功能

contex source dem jpg 用戶 資源 相同 一個 style 以前我們總想到友盟等平臺分享功能的集成,集成這玩意還得下載對應的jar包。當然,用這些平臺的分享並不是說什麽好處都沒有,至少人家的統計功能還是很實用的。不過有的時候我們是不需要多余功能的,只需要

不啟動Android Studio單獨啟動AS的模擬器

       最近學習React Native的時候,寫完需要用模擬器測試(不用手機執行的時候),但每次都要先啟動Android Studio在啟動模擬器,多操作兩次顯得非常麻煩, 所以需要檢視自己電腦sdk位置和模擬器名稱來一鍵執行執行: 1.找

使用者登入攔截器查詢到登入使用者後如何使用者資訊傳遞到後面的Controller

taotao建立訂單程式碼中之前忘了加入使用者資訊,那麼加上呢? 分析:使用者建立訂單的時候,我們會強制要求使用者先登入,也就是說,建立訂單的Controller執行時,一定是使用者已經登入了的,而使用者只要登入,就會在使用者登入攔截器中查詢到使用者資訊,而我們可以在攔截器中把使用者資訊放入request物

Android如何實現對系統對話方塊標題欄進行修改

先上一張圖可以看到,對話方塊的標題顏色是藍色的,下面還有一根線也是藍色的,在某些情況下,我們想改變程式的主題風格,顏色必須做修改,但又懶得去定製Dialog,下面的方法就誕生了: public static final void dialogTitleLineColor(

Android開發:實現系統截圖功能 需要獲取System許可權

在一個service介面上,點選一個button按鈕,可以截圖 貼上程式碼: mButton.setOnClickListener(new OnClickListener(){          public void onClick(View arg0) {       

android中RadioButton中的的圓圈如何去掉,兩種方法,一種.xml、一種程式碼中

第一種.xml中 我想大家都知道 android:button="@null"其實這就是簡單的多RadioButton做的一個自定義,null就是給他為空,所以就變相的隱藏掉了它自帶那個圓圈。 重點是第二種的方法,在java程式碼中:RadioButton IB_PullD

如何讓android studio在執行時簽名

以前開發百度地圖的時候,申請一個key後,直接執行eclipse,便可以獲取位置資訊。 今天在用android studio做的時候,插上手機,直接真機除錯的時候,發現每次總是獲取key失敗。使用as裡面的build->  Generate Signed APK可

Ubuntu 10.042.6.32核心升級成3.0核心圖文教程

1、完成如下實踐工作,並截圖說明實踐步驟:1)下載安裝虛擬機器VMWare Workstation;2)在虛擬機器中安裝Linux2.x ;3)通過自行編譯,將Linux 2.x核心升級到Linux 3.x。 1)     安裝VMware Workstation 11.1

Android新增聯絡人資訊並讀取

package com.example.cxy.androidcontact; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import

Android 使用intent開啟手機應用播放視訊,音訊,文件,還有開啟應用市場

1 開啟手機上的視訊播放器播放視訊 String url = "http://192.168.0.1/1.mp4" Intent intent = new Intent(); intent.setAc

(win和win server)dos下通過wmic命令檢視硬碟和記憶體/CPU資訊(windows命令檢視硬體資訊)

如何在windows系統自帶命令檢視硬體資訊,怎樣dos命令檢視硬碟和記憶體/CPU資訊?最直接的是:開始→執行→CMD開啟命令提示符,在該視窗下輸入systeminfo執行,即可看到幾乎所有想知道的系統資訊,甚至包括機器上已安裝的網絡卡及其IP。  問題描述: 如何從系統

android開發中呼叫系統的檔案選擇器遇到的一些問題

1.呼叫系統的檔案瀏覽器然後進入檔案管理器選擇文字檔案後,直接回到檔案瀏覽器頁面造成文字檔案無法選擇 開始時候使用的方法: Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("*/*"

OPENCV分類器程式的訓練與測試

在本文中我將利用 opencv 3.0 自帶級聯分類器將圖片集訓練得出訓練好的分類器,通過程式呼叫的方法呼叫訓練好的分類器進而檢測行人。首先應找到級聯分類器的位置所在,其位置一般應在opencv安裝的根目錄中,選中我劃出的兩個程式複製到訓練集資料夾中。兩者的作用分別是:ope

android佈局中的標題欄去掉

大家在做android開發的時候肯定會遇到需要自己做自定義標題欄的時候,下面我就教大家自己做一個介面並運用自己做的自定義標題欄。 廢話不多說直接上效果圖~ 注意看最頂上的Face&Door那塊即為我做的標題欄。其實挺簡單的只需三步即可。 一、做好自己需要的標題欄: 新建

Android呼叫系統聯絡人介面

Intent intent = new Intent(); intent.setAction(Intent.ACTION_PICK); intent.setData(Contacts.People.CONTENT_URI); startActivityForResult(intent,     PICK_

利用Unity的合圖切割功能合圖切割成子圖

int 方便 無法 object idt http eal data- 像素 轉載的,牛人無處不在,我還太渺小 雖然目前網上具有切割合圖功能的工具不少,但大部分都是自動切割或者根據plist之類的合圖文件切割的, 這種切割往往不可自己微調或者很難維調,導致效果不理想。

調用aNDROID系統功能

ont hao123 provide music content vid uri android系統 系統 CONTENTpROVIDER%E5%9F%BA%E7%A1%80%E4%B9%8BURI http://music.hao123.com/songlist/495

如何centos7的firewall防火墻更換為iptables防火墻

style 防火墻 dpt http pre wal 配置文件 sta targe 用慣了centos6的iptables防火墻,對firewall太無感了,那麽如何改回原來熟悉的iptables防火墻呢? 1、關閉firewall防火墻 [[email pro