안드로이드에서 내 주소록의 모든 단일 번호를 편집하는 기능을 만들고 싶습니다. 그러나 찾은 모든 예제는 연락처 번호 하나만 편집하므로 연락처에있는 경우 1 개 이상의 숫자는 편집되지 않습니다. 예를 들어안드로이드에서 모든 전화 번호 하나에 1 자리 추가하기
:
093456432 - cellphone
2345678 - house
6789504 - work
34567832 - other
그리고 변화 같은 결과 있도록 앱이 두 번째 위치에 예 "8"1 더 많은 숫자를 추가합니다 :
에이미는이 숫자를 가지고 :
0893456432 - cellphone
28345678 - house
68789504 - work
384567832 - other
그리고 내 주소록의 모든 연락처에 대해 이러한 작업이 필요합니다.
이미 테스트 할 원래 번호를 대체 할 수있는 번호를 불 태우지 만 전화 번호 인 TYPE_HOME 만 수정하고 어떻게 할 수 있을지 궁금해했습니다. 연락처 번호를 수정할 수있는 유형 :
private void updateContact(String name, String phone)
{
ContentResolver cr = getContentResolver();
String where =
ContactsContract.Data.DISPLAY_NAME + " = ? AND " + ContactsContract.Data.MIMETYPE + " = ? AND "
+ String.valueOf(ContactsContract.CommonDataKinds.Phone.TYPE) + " = ? ";
String[] params =
new String[]
{
name,
ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE,
String.valueOf(ContactsContract.CommonDataKinds.Phone.TYPE_HOME) };
Cursor phoneCur = managedQuery(ContactsContract.Data.CONTENT_URI, null, where, params, null);
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
ops.add(ContentProviderOperation
.newUpdate(ContactsContract.Data.CONTENT_URI)
.withSelection(where, params)
.withValue(ContactsContract.CommonDataKinds.Phone.DATA, phone)
.build());
phoneCur.close();
try
{
cr.applyBatch(ContactsContract.AUTHORITY, ops);
}
catch (RemoteException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (OperationApplicationException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
// Toast.makeText(NativeContentProvider.this, "The number of have been updated " + name+ " to: " + phone,
// Toast.LENGTH_SHORT).show();
}
감사합니다.
나는 대답이 없지만 왜 내가 원하는지에 대해 병적으로 흥미를 느낍니다. – kcoppock
'우리는 할 수 있기 때문에 모든 괴상한이 @kcoppock을 필요로합니다. :) – WarrenFaith
우리나라에서 새로운 전기 통신 규제, 전화 번호 하나 더 추가해야합니다. –