栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 移动开发 > Android

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

Android 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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);
      
    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 短信转换成彩信的消息数量,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对考高分网网站的支持!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/158647.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号