2015-09-03 4 views
2

Я хочу обновить тело sms applyBatch. Я хотел бы знать, какой AUTHORITY следует использовать в следующем коде. Как я могу использовать для applyBatch() первый параметр для sms?Полномочие для пакетного обновления содержимого sms

Uri mSmsinboxQueryUri = Uri.parse("content://sms"); 

    ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>(); 
    Set<String> keys = map.keySet(); 
    String where = "_id = ?"; 

    for(String k : keys) { 
     String body = map.get(k); 
     ops.add(
       ContentProviderOperation.newUpdate(mSmsinboxQueryUri).withSelection(where, new String[]{k}) 
         .withValue(Telephony.Sms.BODY, body) 
         .withYieldAllowed(true) 
         .build()); 
    } 

    try { 
     getContentResolver(). 
       applyBatch(ContactsContract.AUTHORITY, ops); 
    } catch (RemoteException e) { 
     e.printStackTrace(); 
    } catch (OperationApplicationException e) { 
     e.printStackTrace(); 
    } 

ответ

0

По this сообщению это "sms"

также в андроиде исходного кода в этом link определяет авторитет как этого

private static final String AUTHORITY = "mms-sms";

так что ваша работа должна быть:

getContentResolver().applyBatch("sms",ops); // if it throws exception use "mms-sms" 

отлично работает для меня.

Смежные вопросы