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