2013-08-09 3 views
2

contact ~ sim 카드를 저장하고 싶지만 그럴 수 없습니다. 이 코드를 사용하여 연락처를 저장했습니다.SIM 카드에 연락처 저장

ContentValues values = new ContentValues(); 
     values.put(People.NUMBER, phone); 
     values.put(People.TYPE, Phone.TYPE_CUSTOM); 
     values.put(People.LABEL, name); 
     values.put(People.NAME, name); 

     Uri dataUri = getContentResolver().insert(People.CONTENT_URI, values); 
     Uri updateUri = Uri.withAppendedPath(dataUri, People.Phones.CONTENT_DIRECTORY); 
     values.clear(); 
     values.put(People.Phones.TYPE, People.TYPE_CUSTOM); 
     values.put(People.NUMBER, phone); 
     updateUri = getContentResolver().insert(updateUri, values); 

하지만 SIM 카드에는 저장되지 않습니다. 도와주세요!

답변

1

장치에 저장된 연락처가 아닌 SiM 카드 연락처의 dataUri를 얻어야합니다.

Uri simUri = Uri.parse("content://icc/adn"); 
Cursor cursorSim = this.getContentResolver().query(simUri, null, null,null, null); 

또한 애플리케이션은 연락처를 읽고 쓸 수있는 권한을 가져야합니다. 귀하의 Android.xml 파일에

<uses-permission android:name="android.permission.READ_CONTACTS"/> 
<uses-permission android:name="android.permission.WRITE_CONTACTS"/> 

을 추가하십시오.

How can we add sms programatically in sim card in android

How to get All Sim Contacts in Android Progrmmatically?

+0

나는 제닉 코드를 사용했지만 내 연락처에는 아무 것도 표시되지 않습니다. Uri simUri = Uri.parse ("content : // icc/adn"); \t \t ContentValues ​​cv = new ContentValues ​​(); \t \t cv.put ("name", "zzzz"); \t \t cv.put ("number", "99999999999"); \t \t getContentResolver(). insert (simUri, cv); –

0

당신은 연락처를 추가 할 수있는 아이디를 제공하지 않습니다에서보세요.

values.put(Data.RAW_CONTACT_ID, idyouwanttoadd); 

그리고 더 inforamtion에 대한 아래 링크를 확인하십시오 : How to add new contacts in android

1

cv.put("name", "zzzz"); // Wrong "이름"이 아닌 올바른 키를. 대신 "태그"사용 cv.put("tag", "zzzz");

관련 문제