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

时间: 2017-05-24

android 读取短信 彩信,Android 短信转换成彩信的消息数量(实例代码)相关推荐

  1. 读取CSV文件内容,将其转换成JSON字符串输出

    CsvToJsonUtil 工具类作用:读取CSV文件内容,将其转换成JSON字符串输出 转换工具类代码如下: package com.test.util;import java.io.*; impo ...

  2. Android 将一张CMYK模式的图片转换成RGB模式的图片

    Android系统是不能够显示打印模式(CMYK)的图片的.所以要在Andorid设备下显示CMYK模式的图片我得做法是将其转换成RGB模式的图片,但是通过转换颜色丢失比较大,如果大家有好的办法欢迎指 ...

  3. android 读取手机存储数据恢复,Android智能手机数据恢复方法浅析

    曾琪 罗慧瑜 摘要:根据数据丢失的原因,Android智能手机数据恢复方法分为两大类:物理恢复和软件恢复.物理恢复一般是由于手机进水.摔坏等无法开机情况下的芯片级恢复,而软件恢复则大多因为逻辑损坏.该 ...

  4. android 读取内部存储文件格式,Android中的数据储存之文件存储

    当我们在使用各种程序时,其实际上是在和各种数据打交道,当我们聊QQ,刷微博,看新闻,其实都是在和里面的数据交互 例如在聊天时发出的消息,以及在登录时输入的账号密码,其实都是瞬时数据,那什么是瞬时数据呢 ...

  5. android 读取手机存储数据恢复,Android手机数据恢复

    前段时间备份手机数据的时候,只备份了TF卡内的文件,手机内置存储空间的文件忘记备份了,手机"双清"后,才想起内置空间里面还有需要的文件,折腾了一番,踩了不少坑,把数据恢复了出来,遂 ...

  6. android读取bin文件内容,Android的NFC读取IsoDep文件内容

    我想看过一些资料出ISO/IEC 14443 A类卡.Android的NFC读取IsoDep文件内容 使用android应用程序分析卡片后,我发现应用程序(AID:15845F)具有我需要的特定文件( ...

  7. android 读取其他应用程序,android – 在另一个应用程序中请求我自己的ContentProvider的读取权限...

    在一个应用程序中,我在 AndroidManifest中声明了以下内容提供程序: android:label="@string/provider_name" android:aut ...

  8. Android读取大文件方法,Android 读取大文件txt

    原文:http://zkl-1987.iteye.com/blog/1055394 由于现在TXT文本很多,特别是好多小说也是以这个文件格式出现,毕竟这个格式所占用不必要的空间比较小.像我这样的人就非 ...

  9. android读取文件字符串长度,Android中最大文件名长度

    我正在尝试为正在创建的文件命名. 我只想知道 Android中最大文件名长度是多少? 有文件名规范吗? 我可以使用-或>之类的字符吗? 在Android上使用超过127字节的标签显然是不安全的. ...

最新文章

  1. 解决‘C:\Program‘ 不是内部或外部命令,也不是可运行的程序或批处理文件
  2. c# 标准正太分布函数_机器学习中常见的几种概率分布
  3. flutter图片聊天泡泡_flutter即时聊天IM仿微信|flutter聊天界面
  4. 专访京东副总裁翁志:全方位解读 CNCC 2018「数据开创商业新生态」技术论坛 | CNCC 2018...
  5. findmnt-寻找挂载的文件系统
  6. Ajax : load()
  7. ZEGO 自研客户端配置管理系统 —— 云控
  8. JSP——(图片验证码)
  9. 衡水的高考2021年成绩查询,2021年衡水高考最高分多少分,历年衡水高考状元
  10. [二分]Kayaking Trip
  11. 初探SEO关键词竞争程度的智能算法思路
  12. 【Python高级编程】
  13. 成都理工大学计算机考研经历,09计算机考研的小小体会~
  14. 爬虫笔记之——selenium安装与使用(1)
  15. (微软官方工具)局域网键鼠共享工具:Mouse without borders
  16. zbrush导入obj模型不显示_ZBrush中如何导入和导出OBJ文件—ZBrush教程
  17. 6.3 理解矩阵背后的意义
  18. 淘票票sign----js(5: 继续淘票票--sign 生成完成)
  19. MDL---Material Design Lite框架推荐
  20. Android雷达图(蜘蛛网图)绘制

热门文章

  1. omniplan(项目管理工具)使用技巧
  2. STM32 |显示:API is not found, corresponding pack is missing or not selected
  3. LEDE路由器流量统计无法保存
  4. Docker教程-8-DockerHub仓库及私有仓库的使用
  5. 输出加个小电阻 提高带负载能力
  6. 用matlab计算超调,怎样用matlab计算超调量、峰值时间
  7. 基于XR Interaction ToolKit开发的VR双平台兼容项目(一)
  8. 官网客服不在线?看上海交大教育集团如何用在线客服功能快速响应客户!
  9. [nodemcu-esp32s]记录02————Esp32 LVGL的移植
  10. 我在区块链上养了3万只猫,学到了8个赚钱真理