Android 短信转换成彩信的消息数量(实例代码)
默认3条以上转为彩信
改为5条
路径vendor/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/MmsConfig.java
privatestaticintsSmsToMmsTextThreshold=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
privateEnhanceEditTextmTextEditor;//Texteditortotypeyourmessageinto//消息输入框
privateTextViewmTextCounter;//Showsthenumberofcharactersusedintexteditor//剩余字数显示
privateTextViewmSendButtonMms;//Presstosendmms//彩信发送按钮,TextView中加入图片
privateImageButtonmSendButtonSms;//Presstosendsms//短信发送按钮
privatevoidupdateCounter(CharSequencetext,intstart,intbefore,intcount){
...
int[]params=null;
intencodingType=SmsMessage.ENCODING_UNKNOWN;
encodingType=mOpComposeExt.getSmsEncodingType(encodingType,ComposeMessageActivity.this);
params=SmsMessage.calculateLength(text,false,encodingType);
/*SmsMessage.calculateLengthreturnsanint[4]with:
*int[0]beingthenumberofSMS'srequired,
*int[1]thenumberofcodeunitsused,
*int[2]isthenumberofcodeunitsremaininguntilthenextmessage.
*int[3]istheencodingtypethatshouldbeusedforthemessage.
*/
finalintmsgCount=params[0];//已输入短信条数
finalintremainingInCurrentMessage=params[2];//剩余字数
mWorkingMessage.setLengthRequiresMms(
msgCount>=MmsConfig.getSmsToMmsTextThreshold(),true);//转为彩信的短信条数
MmsLog.d(TAG,"updateCounter():messagemsgCount="+msgCount
+"TextThreshold()="+MmsConfig.getSmsToMmsTextThreshold()
+"remainingInCurrentMessage="+remainingInCurrentMessage);
///M:Showthecounter
///M:Updatetheremainingcharactersandnumberofmessagesrequired.
if(msgCount>=MmsConfig.getSmsToMmsTextThreshold()){
mTextCounter.setVisibility(View.GONE);
return;
}
mUiHandler.postDelayed(newRunnable(){
@Override
publicvoidrun(){
if(mOpComposeExt.updateCounterUiRun(mTextEditor,remainingInCurrentMessage,
msgCount,mWorkingMessage)){
return;
}
MmsLog.d(TAG,"updateCounterrequiresMms="+mWorkingMessage.requiresMms()
+"linecount="+mTextEditor.getLineCount());
if(mWorkingMessage.requiresMms()||mTextEditor.getLineCount()<=1){
mTextCounter.setVisibility(View.GONE);
return;
}
mTextCounter.setVisibility(View.VISIBLE);
StringcounterText=remainingInCurrentMessage+"/"+msgCount;
mTextCounter.setText(counterText);
}
},100);
//显示短信发送按钮或彩信发送按钮
privateViewshowSmsOrMmsSendButton(booleanisMms){
ViewshowButton=null;
ViewhideButton=null;
//addforipmessage
if(isMms){
if(mSubCount==0||(isRecipientsEditorVisible()
&&TextUtils.isEmpty(mRecipientsEditor.getText()))
///M:fixbugALPS00563318,showgraymms_send_button
///whenhaven'tsubject,textandattachment
||((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();
returnshowButton;
}
以上所述是小编给大家介绍的Android短信转换成彩信的消息数量,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!