public SmsMessageSender(Context context,String[] dests,String msgText,long threadId){
  mContext=context;
  mMessageText=msgText;
  mNumberOfDests=dests.length;
  mDests=new String[mNumberOfDests];
  System.arraycopy(dests,0,mDests,0,mNumberOfDests);
  mTimestamp=System.currentTimeMillis();
  mThreadId=threadId;
  mServiceCenter=getOutgoingServiceCenter(mThreadId);
  SharedPreferences mPrefs=PreferenceManager.getDefaultSharedPreferences(mContext);
  splitMessage=mPrefs.getBoolean(mContext.getString(R.string.pref_split_message_key),DEFAULT_SPLIT_MESSAGE);
  requestDeliveryReport=mPrefs.getBoolean(mContext.getString(R.string.pref_delivery_report_key),DEFAULT_DELIVERY_REPORT_MODE);
}

public SmsMessageSender ( Context context , String [ ] dests , String msgText , long threadId ) { mContext = context ; mMessageText = msgText ; mNumberOfDests = dests . length ; mDests = new String [ mNumberOfDests ] ; System . arraycopy ( dests , 0 , mDests , 0 , mNumberOfDests ) ; mTimestamp = System . currentTimeMillis ( ) ; mThreadId = threadId ; mServiceCenter = getOutgoingServiceCenter ( mThreadId ) ; SharedPreferences mPrefs = PreferenceManager . getDefaultSharedPreferences ( mContext ) ; splitMessage = mPrefs . getBoolean ( mContext . getString ( R . string . pref_split_message_key ) , DEFAULT_SPLIT_MESSAGE ) ; requestDeliveryReport = mPrefs . getBoolean ( mContext . getString ( R . string . pref_delivery_report_key ) , DEFAULT_DELIVERY_REPORT_MODE ) ; }
send a message via the system app and system db
