public class TelephonyUtil {
/**
* 添加联系人
* @param context
* @param follower
*/
public static void addContact(Context context,Follower follower){
Uri uri = Uri.parse("content://com.android.contacts/raw_contacts");
final ContentResolver resolver = context.getContentResolver();
ArrayList<ContentProviderOperation> operations = new ArrayList<ContentProviderOperation>();
ContentProviderOperation op1 = ContentProviderOperation.newInsert(uri)
.withValue("account_name", null).build();
operations.add(op1);
/**
* 添加姓名
*/
uri = Uri.parse("content://com.android.contacts/data");
ContentProviderOperation op2 = ContentProviderOperation.newInsert(uri)
.withValueBackReference("raw_contact_id", 0)
.withValue("mimetype", "vnd.android.cursor.item/name")
.withValue("data2", follower.getName()).build();
operations.add(op2);
/**
* 添加手机号码
*/
ContentProviderOperation op3 = ContentProviderOperation.newInsert(uri)
.withValueBackReference("raw_contact_id", 0)
.withValue("mimetype", "vnd.android.cursor.item/phone_v2")
.withValue("data1", follower.getPhone()).withValue("data2", "2").build();
operations.add(op3);
/**
* 添加email
*/
ContentProviderOperation op4 = ContentProviderOperation.newInsert(uri)
.withValueBackReference("raw_contact_id", 0)
.withValue("mimetype", "vnd.android.cursor.item/email_v2")
.withValue("data1", follower.getEmail()).withValue("data2", "2").build();
operations.add(op4);

/**
* 将图片转换成为byte[]
*/
Bitmap bitmap = BitmapFactory.decodeFile("/mnt/sdcard/TravelSkyOA/followers/testimage.gif");
final ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);

/**
* 添加photo
*/
ContentProviderOperation op5 = ContentProviderOperation.newInsert(uri)
.withValueBackReference("raw_contact_id", 0)
.withValue("mimetype", Photo.CONTENT_ITEM_TYPE)
.withValue(Photo.PHOTO, stream.toByteArray()).build();
operations.add(op5);
try {
resolver.applyBatch("com.android.contacts", operations);
} catch (RemoteException e) {
e.printStackTrace();
} catch (OperationApplicationException e) {
e.printStackTrace();
}
}
/**
* 拨打电话
*
* @param context
* @param phone
*/
public static void tel(Context context, String phone) {
Intent intent = new Intent(Intent.ACTION_CALL,
Uri.parse("tel:" + phone));
context.startActivity(intent);
}
/**
* 发送短信
*
* @param context
* @param phone
* @param smsBody
*/
public static void sendSMSByPhone(Context context, String phone,
String smsBody) {
Uri smsToUri = Uri.parse("smsto:" + phone);
Intent intent = new Intent(Intent.ACTION_SENDTO, smsToUri);
intent.putExtra("sms_body", smsBody);
context.startActivity(intent);
}
/**
* SmsManager 是android.telephony.gsm.SmsManager中定义的用户管理短信应用的类。
* 开发人员不必实例化SmsManager类,只需要调用静态方法getDefault()获得SmsManager对象,
* PendingIntent对象用于指向MainActivity.当用户按下‘发送短信’按键后,用户界面 重新回到TinySMS的初始界面
*
* @param phonenumber
* 电话号码
* @param msg
* 短信内容
*/
public static void sendSMS(Context context, String phonenumber, String msg) {// 发送短信的类
PendingIntent pi = PendingIntent.getBroadcast(context, 0, new Intent(),
0);
//PendingIntent pi=PendingIntent.getActivity(this, 0, new Intent(this,MainActivity.class), 0);
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phonenumber, null, msg, pi, null);// 发送信息到指定号码
}
}