Auto.js 写入通讯录、清空通讯录



// 写入通讯录单个联系人
function writeContct(phone, name) {
    var a = new android.content.ContentValues();
    a.put("account_type", android.accounts.AccountManager.KEY_ACCOUNT_TYPE);
    a.put("account_name", android.accounts.AccountManager.KEY_ACCOUNT_NAME);

    var rawContactUri = context.getContentResolver().insert(android.provider.ContactsContract.RawContacts.CONTENT_URI, a);
    var rawContactId = android.content.ContentUris.parseId(rawContactUri)

    var b = new android.content.ContentValues();
    b['put(java.lang.String,java.lang.Long)']("raw_contact_id", rawContactId);
    b.put("mimetype", "vnd.android.cursor.item/name");
    b.put("data1", name);
    context.getContentResolver().insert(android.provider.ContactsContract.Data.CONTENT_URI, b);

    var c = new android.content.ContentValues();
    c['put(java.lang.String,java.lang.Long)']("raw_contact_id", rawContactId);
    c.put("mimetype", "vnd.android.cursor.item/phone_v2");
    c.put("data1", phone);
    c["put(java.lang.String,java.lang.Integer)"]("data2", 2);
    context.getContentResolver().insert(android.provider.ContactsContract.Data.CONTENT_URI, c);
}

// 清空通讯录所有联系人
function cleanContact() {
    var ContentProviderOperation = android.content.ContentProviderOperation;
    var rawUri = android.provider.ContactsContract.Data.CONTENT_URI.buildUpon().appendQueryParameter("caller_is_syncadapter", "true").build();
    var ops = new java.util.ArrayList();
    var array = java.lang.reflect.Array.newInstance(java.lang.String, 1);
    array[0] = "-1";
    ops.add(ContentProviderOperation.newDelete(android.provider.ContactsContract.Data.CONTENT_URI).withSelection("_id>? ", array).build()) //sets deleted flag to 1
    ops.add(ContentProviderOperation.newDelete(rawUri).withSelection("_id>? ", array).build()) //erases
    context.getContentResolver().applyBatch("com.android.contacts", ops);
}

代码测试通过,如果提示sql语句错误。更换auto.js版本即可,我用的是7.0.4 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值