Android 短信转换成彩信的消息数量(实例代码)
时间:2019-03-30
本文章向大家介绍Android 短信转换成彩信的消息数量(实例代码),主要包括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 短信转换成彩信的消息数量,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
- 敞开的地狱之门:Kerberos协议的滥用
- CY7C68013A的一点总结
- RxJava2 实战(1) - 后台执行耗时操作,实时通知 UI 更新
- AutoIt木马又一发:暗藏神秘照片
- css3动画从入门到精通
- ReactJs和React Native的那些事
- Linux学习-文件排序和FASTA文件操作
- Bash漏洞再次演进:缓冲区溢出导致远程任意命令执行
- Pandas,让Python像R一样处理数据,但快
- ViewPager 实现 Galler 效果, 中间大图显示,两边小图展示
- 最小生成树-Prim算法和Kruskal算法
- Bash漏洞批量检测工具与修复方案
- 组合模式
- 用Fiddler在Android上抓包(Http+https)
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 宋宝华:论Linux的页迁移(Page Migration)完整版
- 三、玩转Git三剑客-Git与Github的简单同步
- 四、玩转Git三剑客-Git多人单分支集成协作时的常见场景
- 准时下班的秘密:集成 GitLab && JIRA 实现自动化 workflow
- ZLT-MP v4.1.0 发布
- 高并发系统三大利器之限流
- XtraBackup工具详解 Part 2 xtrabackup安装
- XtraBackup工具详解 Part 4 XtraBackup权限及配置
- XtraBackup工具详解 Part 5 使用innobackupex对数据库进行全备
- XtraBackup工具详解 Part 6 使用innobackupex对全备进行恢复
- [修正]XtraBackup工具详解 Part 6 使用innobackupex对全备进行恢复
- XtraBackup工具详解 Part 7 使用innobackupex对数据库进行增量备份
- XtraBackup工具详解 Part 8 使用innobackupex对增量备份进行恢复
- MySQL复制全解析 Part 2 一步步搭建基于二进制文件位置的MySQL复制
- MySQL复制全解析 Part 3 MySQL半同步复制设置