我想創建一個函數來編輯我的地址簿中的每個單一號碼,但是我發現所有示例只編輯了1個聯繫人,所以如果聯繫人有他們不會被編輯超過1個數字。向Android中的每個電話號碼添加1位數
例如:
艾米有這樣的數字:
093456432 - cellphone
2345678 - house
6789504 - work
34567832 - other
和應用程序將增加1以上的數字,例如「8」在第二位置,這樣的變化將導致類似:
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
在我的國家新的電信管理規定,還有一個數字必須添加到電話號碼。 –