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

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

默认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

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

猜你喜欢

  • SpringCloud中的Consul详解

    2023-05-26 04:56:41
  • Spring IOC:CreateBean环节中的流程转换

    2022-06-10 12:28:31
  • Java运算符的知识点与代码汇总

    2022-12-05 19:03:36
  • Spring Boot2中如何优雅地个性化定制Jackson实现示例

    2021-09-27 12:21:15
  • JAVA实现301永久重定向方法

    2023-12-18 10:59:08
  • Android设置全屏代码分享

    2022-03-25 10:42:30
  • SpringBoot配置SwaggerUI访问404错误的解决方法

    2021-10-02 19:33:56
  • Mybatis-plus配置分页插件返回统一结果集

    2022-05-27 19:15:06
  • JDK线程池和Spring线程池的使用实例解析

    2023-02-24 13:27:32
  • Android开发之关于项目

    2023-05-08 23:38:24
  • springboot与vue详解实现短信发送流程

    2023-05-24 14:55:29
  • Java 编程中十个处理异常的建议

    2022-10-27 11:34:41
  • java新特性之for循环最全的用法总结

    2022-07-08 22:14:51
  • C#中分部类和分部方法的应用

    2022-08-16 06:49:05
  • 如何使用RequestHeaders添加自定义参数

    2023-01-10 17:37:14
  • IDEA中使用jclasslib插件可视化方式查看类字节码的过程详解

    2021-10-12 08:18:31
  • Android自定义View之继承TextView绘制背景

    2021-11-05 11:16:06
  • 详解SpringBoot JPA常用注解的使用方法

    2023-12-09 17:10:31
  • springboot整合security和vue的实践

    2021-09-17 20:39:28
  • JavaFx UI控件与代码间的绑定方法

    2021-09-13 00:40:27
  • asp之家 软件编程 m.aspxhome.com