java 添加手机联系人_Android 自动向手机添加联系人(测试数据用)

import android.content.ContentProviderOperation;

import android.os.Bundle;

import android.provider.ContactsContract;

import android.support.v7.app.AppCompatActivity;

import android.util.Log;

import java.util.ArrayList;

import java.util.Random;

public class MainActivity extends AppCompatActivity {

static  final String CHARACTERS="ABCDEFGHJIKLMNOPQRSTUVWXYZ1234567890";

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

startThread();

//  test1();

}

//    public void test1(){

//        System.err.println("");

       char[] str = "".toCharArray();

       for (char ch:str ) {

           System.err.println("CH:" + ch + " "  + String.valueOf(ch).matches("[a-zA-Z]"));

       }

//

//    }

public void startThread(){

for (int i = 0; i <4 ; i++) {

moreThread(2000*i);

}

}

private void addToPhoneContact(String number, String name) {

try {

ArrayList ops = new ArrayList<>();

ContentProviderOperation.Builder builder = ContentProviderOperation.newInsert(ContactsContract.RawContacts.CONTENT_URI);

builder.withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, null);

builder.withValue(ContactsContract.RawContacts.ACCOUNT_NAME, null);

ops.add(builder.build());

// Name

builder = ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI);

builder.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0);

builder.withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE);

builder.withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, name);

ops.add(builder.build());

// Number

builder = ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI);

builder.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0);

builder.withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);

builder.withValue(ContactsContract.CommonDataKinds.Phone.NUMBER,  number);

builder.withValue(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE);

ops.add(builder.build());

getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);

} catch (Exception e) {

e.printStackTrace();

}

}

public  String randomString(int length){

char[] text=new char[length];

Random random=new Random();

for (int  i= 0; i < length ; i++) {

text[i]=CHARACTERS.charAt(random.nextInt(CHARACTERS.length()));

}

return new String(text);

}

public void moreThread(final int startNumber){

new Thread(new Runnable() {

@Override

public void run() {

for (int i = startNumber; i

addToPhoneContact("8765" + String.format("%04d", i), randomString(4));

}

for (int i = startNumber; i

addToPhoneContact("7765" + String.format("%04d", i), randomString(4));

}

Log.e("aa","finish5");

}

}).start();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值