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

安卓 同时被 2 个专栏收录
12 篇文章 0 订阅
3 篇文章 0 订阅

// 写入通讯录单个联系人
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

学习资源:
rhino js 调用java
https://devopspoints.com/javascript-scripting-java-with-rhino.html

  • 0
    点赞
  • 1
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值