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