添加照片到一个机器人接触机器人、照片

2023-09-06 17:13:16 作者:黄昏后的美

我想添加联系人到手机地址簿中,我获得了成功,我添加了一个新的联系人,并分配一个手机号码吧。

现在我需要添加一个JPG我在我的资源目录中的联系人为联系人照片,我要寻找一个教程,但找不到任何。

我需要针对旧手机,所以我需要使用旧的联系人API。

谁能帮助?

感谢

  ContentValues​​接触=新ContentValues​​();

contact.put(People.NAMEtestContact);
。乌里insertUri = activity.getContentResolver()插入(People.CONTENT_URI,接触);

乌里phoneUri = Uri.withAppendedPath(insertUri,People.Phones.CONTENT_DIRECTORY);
contact.clear();
contact.put(People.Phones.TYPE,People.TYPE_MOBILE);
contact.put(People.NUMBER,12128911);


。updateUri = activity.getContentResolver()插入(phoneUri,接触);
 

解决方案

我用新的API 8+,你也可以利用这一点,(对于支持低版本在你想要的清单文件使用的minSdkVersion ..)

和我做的是一样的东西,(我用的PNG格式的位图)

  ByteArrayOutputStream流=新ByteArrayOutputStream();
bm.com preSS(Bitmap.Com pressFormat.PNG,75,流);

operations.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
           .withValue(ContactsContract.Data.RAW_CONTACT_ID,9)//这里9 _ID在那里我插入图片
           .withValue(ContactsContract.Data.IS_SUPER_PRIMARY,1)
           .withValue(ContactsContract.Data.MIMETYPE,ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE)
           .withValue(ContactsContract.CommonDataKinds.Photo.PHOTO,stream.toByteArray())
           。建立());

    尝试 {
         stream.flush();
        }赶上(IOException异常E){
          // TODO自动生成的catch块
          e.printStackTrace();
        }
 
机器人图片

I am trying to add a contact to the phone address book, I have been successful, I added a new contact and assigned a mobile number to it.

now I need add a JPG I have in my resources directory to the contact as the contact photo, I am looking for a tutorial but can't find any.

I need to target old phones so I need to use the old contacts API.

can anyone help ?

thanks

ContentValues contact = new ContentValues();

contact.put(People.NAME, "testContact");
Uri insertUri = activity.getContentResolver().insert(People.CONTENT_URI, contact);

Uri phoneUri = Uri.withAppendedPath(insertUri, People.Phones.CONTENT_DIRECTORY);
contact.clear();
contact.put(People.Phones.TYPE, People.TYPE_MOBILE);
contact.put(People.NUMBER, "12128911");


updateUri = activity.getContentResolver().insert(phoneUri, contact);

解决方案

I use new APi 8+, You can also use this, (For support lower version In manifest file use minSDKVersion what you want..)

And what I am doing is something like, (I am using .PNG format Bitmap)

ByteArrayOutputStream stream = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.PNG , 75, stream);

operations.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
           .withValue(ContactsContract.Data.RAW_CONTACT_ID, 9) // here 9 is _ID where I'm inserting image
           .withValue(ContactsContract.Data.IS_SUPER_PRIMARY, 1)
           .withValue(ContactsContract.Data.MIMETYPE,ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE)
           .withValue(ContactsContract.CommonDataKinds.Photo.PHOTO,stream.toByteArray())
           .build());

    try {
         stream.flush();
        } catch (IOException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }