软件编程
位置:首页>> 软件编程>> Android编程>> Android 短信转换成彩信的消息数量(实例代码)

Android 短信转换成彩信的消息数量(实例代码)

作者:chenhao132654  发布时间:2021-11-13 13:01:58 

标签:android,短信,彩信,消息数量

默认3条以上转为彩信

改为5条

路径vendor/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/MmsConfig.java


private static int sSmsToMmsTextThreshold = 6; // 4

变量定义字面意思就可以理解 以下是代码分析


vendor/mediatek/proprietary/packages/apps/Mms/res/layout/compose_message_activity.xml

布局文件


vendor/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/ui/ComposeMessageActivity.java
private EnhanceEditText mTextEditor;      // Text editor to type your message into //消息输入框
 private TextView mTextCounter;     // Shows the number of characters used in text editor //剩余字数显示
 private TextView mSendButtonMms;    // Press to send mms //彩信发送按钮,TextView中加入图片
 private ImageButton mSendButtonSms;   // Press to send sms //短信发送按钮
 private void updateCounter(CharSequence text, int start, int before, int count) {
   ...
   int[] params = null;
   int encodingType = SmsMessage.ENCODING_UNKNOWN;
   encodingType = mOpComposeExt.getSmsEncodingType(encodingType, ComposeMessageActivity.this);
   params = SmsMessage.calculateLength(text, false, encodingType);
     /* SmsMessage.calculateLength returns an int[4] with:
      *  int[0] being the number of SMS's required,
      *  int[1] the number of code units used,
      *  int[2] is the number of code units remaining until the next message.
      *  int[3] is the encoding type that should be used for the message.
      */
   final int msgCount = params[0]; //已输入短信条数
   final int remainingInCurrentMessage = params[2]; //剩余字数
   mWorkingMessage.setLengthRequiresMms(
     msgCount >= MmsConfig.getSmsToMmsTextThreshold(), true); //转为彩信的短信条数
   MmsLog.d(TAG, "updateCounter(): message msgCount = " + msgCount
       + " TextThreshold() = " + MmsConfig.getSmsToMmsTextThreshold()
       + " remainingInCurrentMessage = " + remainingInCurrentMessage);
   /// M: Show the counter
   /// M: Update the remaining characters and number of messages required.
   if (msgCount >= MmsConfig.getSmsToMmsTextThreshold()) {
     mTextCounter.setVisibility(View.GONE);
     return;
   }
   mUiHandler.postDelayed(new Runnable() {
     @Override
     public void run() {
       if (mOpComposeExt.updateCounterUiRun(mTextEditor, remainingInCurrentMessage,
           msgCount, mWorkingMessage)) {
         return;
       }
       MmsLog.d(TAG, "updateCounter requiresMms = " + mWorkingMessage.requiresMms()
           + " line count = " + mTextEditor.getLineCount());
       if (mWorkingMessage.requiresMms() || mTextEditor.getLineCount() <= 1) {
         mTextCounter.setVisibility(View.GONE);
         return;
       }
       mTextCounter.setVisibility(View.VISIBLE);
       String counterText = remainingInCurrentMessage + "/" + msgCount;
       mTextCounter.setText(counterText);
     }
   }, 100);
//显示短信发送按钮或彩信发送按钮
 private View showSmsOrMmsSendButton(boolean isMms) {
   View showButton = null;
   View hideButton = null;
   // add for ipmessage
   if (isMms) {
     if (mSubCount == 0 || (isRecipientsEditorVisible()
         && TextUtils.isEmpty(mRecipientsEditor.getText()))
         /// M: fix bug ALPS00563318, show gray mms_send_button
       /// when haven't subject, text and attachment
       || ((mSubjectTextEditor == null || (mSubjectTextEditor != null
           && TextUtils.isEmpty(mSubjectTextEditor.getText().toString().trim())))
           && mTextEditor != null
           && TextUtils.isEmpty(mTextEditor.getText().toString().trim())
           && !mWorkingMessage.hasAttachment())
           || !mIsSmsEnabled) {
     mSendButtonMms.setCompoundDrawablesWithIntrinsicBounds(null, null, null,
       getResources().getDrawable(R.drawable.ic_send_sms_unsend));
   } else {
     mSendButtonMms.setCompoundDrawablesWithIntrinsicBounds(null, null, null,
         getResources().getDrawable(R.drawable.ic_send_ipmsg));
     }
     showButton = mSendButtonMms;
     hideButton = mSendButtonSms;
   } else {
     if (!mIpCompose.onIpShowSmsOrMmsSendButton(isMms)) {
       if ((mTextEditor.getText().toString().isEmpty())
           || mSubCount == 0
           || (isRecipientsEditorVisible()
               && TextUtils.isEmpty(mRecipientsEditor.getText()))
           || recipientCount() > MmsConfig.getSmsRecipientLimit()
           || !mIsSmsEnabled) {
         ///@}
         mSendButtonSms.setImageResource(R.drawable.ic_send_sms_unsend);
       } else {
         mSendButtonSms.setImageResource(R.drawable.ic_send_ipmsg);
       }
     }
     showButton = mSendButtonSms;
     hideButton = mSendButtonMms;
   }
   if (showButton != null) {
     showButton.setVisibility(View.VISIBLE);
   }
   if (hideButton != null) {
     hideButton.setVisibility(View.GONE);
   }
   updateTextEditorHint();
   return showButton;
 }

以上所述是小编给大家介绍的Android 短信转换成彩信的消息数量网站的支持!

来源:http://blog.csdn.net/qq_32143319/article/details/72722079

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com