这里有新鲜出炉的精品教程,程序狗速度看过来!
Android 是一种基于 Linux 的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由 Google 公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用 "安卓" 或 "安致"。
本文通过实例代码给大家介绍了 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 短信转换成彩信的消息数量,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 PHPERZ 网站的支持!
来源: http://www.phperz.com/article/17/0823/337644.html