コード例 #1
0
  public Intent getAddNumberIntent() {
    final Intent intent = new Intent(Intent.ACTION_INSERT_OR_EDIT);
    intent.setType(ContactsContract.Contacts.CONTENT_ITEM_TYPE);

    ArrayList<ContentValues> data = new ArrayList<>();
    ContentValues values = new ContentValues();

    SipUri number = getPhones().get(0).getNumber();
    if (number.isRingId()) {
      values.put(
          ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Im.CONTENT_ITEM_TYPE);
      values.put(ContactsContract.CommonDataKinds.Im.DATA, number.getRawUriString());
      values.put(
          ContactsContract.CommonDataKinds.Im.PROTOCOL,
          ContactsContract.CommonDataKinds.Im.PROTOCOL_CUSTOM);
      values.put(ContactsContract.CommonDataKinds.Im.CUSTOM_PROTOCOL, "Ring");
    } else {
      values.put(
          ContactsContract.Data.MIMETYPE,
          ContactsContract.CommonDataKinds.SipAddress.CONTENT_ITEM_TYPE);
      values.put(ContactsContract.CommonDataKinds.SipAddress.SIP_ADDRESS, number.getRawUriString());
    }
    data.add(values);
    intent.putParcelableArrayListExtra(ContactsContract.Intents.Insert.DATA, data);
    return intent;
  }
コード例 #2
0
 public static CallContact buildUnknown(SipUri to) {
   ArrayList<Phone> phones = new ArrayList<>();
   phones.add(new Phone(to, 0));
   return new CallContact(-1, null, to.getRawUriString(), 0, phones, "", false);
 }