MMS发送流程代码版androidWord文件下载.docx

上传人:b****2 文档编号:13759706 上传时间:2022-10-13 格式:DOCX 页数:32 大小:35.86KB
下载 相关 举报
MMS发送流程代码版androidWord文件下载.docx_第1页
第1页 / 共32页
MMS发送流程代码版androidWord文件下载.docx_第2页
第2页 / 共32页
MMS发送流程代码版androidWord文件下载.docx_第3页
第3页 / 共32页
MMS发送流程代码版androidWord文件下载.docx_第4页
第4页 / 共32页
MMS发送流程代码版androidWord文件下载.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

MMS发送流程代码版androidWord文件下载.docx

《MMS发送流程代码版androidWord文件下载.docx》由会员分享,可在线阅读,更多相关《MMS发送流程代码版androidWord文件下载.docx(32页珍藏版)》请在冰豆网上搜索。

MMS发送流程代码版androidWord文件下载.docx

2。

src/com/android/mms/ui/ComposeMessageActivity.java

privatevoidconfirmSendMessageIfNeeded(){

 if (!

isRecipientsEditorVisible()) { 

//编辑联系人不可见时,也就是给已存在会话的联系人发送短信时

sendMessage(true);

return;

}

booleanisMms=mWorkingMessage.requiresMms();

//是否需要以彩信形式发送

if(mRecipientsEditor。

hasInvalidRecipient(isMms)){//是否含有不合法的收件人

if(mRecipientsEditor。

hasValidRecipient(isMms)){//有合法的和不合法的,弹出尝试发送对话框

 String title=getResourcesString(R.string.has_invalid_recipient,

 mRecipientsEditor。

formatInvalidNumbers(isMms));

newAlertDialog.Builder(this)

setIcon(android。

R.drawable.ic_dialog_alert)

setTitle(title)

.setMessage(R.string。

invalid_recipient_message)

 。

setPositiveButton(R.string。

try_to_send,

newSendIgnoreInvalidRecipientListener())

setNegativeButton(R.string.no,newCancelSendingListener())

.show();

} else{//如果全是不合法的联系人,提示不能发送信息

newAlertDialog。

Builder(this)

setIcon(android.R.drawable。

ic_dialog_alert)

setTitle(R。

string.cannot_send_message)

setMessage(R.string.cannot_send_message_reason)

.setPositiveButton(R.string.yes,newCancelSendingListener())

show();

}else{//判断收件人没有问题,接着发送信息-—》

sendMessage(true);

3.src/com/android/mms/ui/ComposeMessageActivity。

java

privatevoid sendMessage(boolean bCheckEcmMode){

Log.v(TAG,"

sendMessage");

if(bCheckEcmMode){

 // TODO:

exposethisintelephony layerfor SDKbuild

 StringinEcm=SystemProperties.get(TelephonyProperties.PROPERTY_INECM_MODE);

//判断电话是否处于紧急拨号模式,得到的inEcm一般为空

Log。

v(TAG, ”inEcm="

+inEcm);

if(Boolean。

parseBoolean(inEcm)) {

try{

startActivityForResult(

new Intent(TelephonyIntents。

ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS,null),

 REQUEST_CODE_ECM_EXIT_DIALOG);

return;

}catch(ActivityNotFoundException e){

 // continueto sendmessage

 Log.e(TAG,"CannotfindEmergencyCallbackModeExitDialog"

 e);

 }

if(!

mSendingMessage){

//send canchangetherecipients。

Makesure weremove thelistenersfirstandthenadd

//thembackoncetherecipientlisthassettled.

 removeRecipientsListeners();

//取消对收件人的监听

 mWorkingMessage.send();

 //发送信息-—》

mSentMessage = true;

mSendingMessage=true;

addRecipientsListeners();

//重新添加收件人监听

//Butbailoutif wearesupposed toexit afterthemessageissent。

if(mExitOnSent){//如果mExitOnSent为true,信息发送完成后退出Activity

finish();

4。

src/com/android/mms/data/WorkingMessage.java

/**

*Sendthis messageoverthenetwork. 

Willcallback withonMessageSent()once

*ithasbeendispatchedtothetelephonystack。

This WorkingMessageobjectis

*nolongeruseful afterthis methodhasbeen called.

*/

publicvoid send(){

 if(Log.isLoggable(LogTag。

TRANSACTION, Log。

VERBOSE)){

 LogTag.debug(”send”);

//Getreadytowriteto disk。

 prepareForSave(true/* notify*/);

//主要做一下同步收件人和WorkingMessage,彩信时在准备其他一些东西

 //Weneedtherecipient list forbothSMSandMMS.

finalConversationconv=mConversation;

String msgTxt=mText.toString();

Log.v(TAG,"

msgText=”+ msgTxt);

if(requiresMms()||addressContainsEmailToMms(conv,msgTxt)){

//Makelocalcopiesofthe bitsweneedforsendingamessage,

//becausewewillbedoing itoff ofthemainthread,whichwill

 //immediatelycontinueontoresettingsome ofthisstate。

final Uri mmsUri=mMessageUri;

//如果第一次发送,此时mmsUri为null,如果是重发,则是草稿箱的地址mMessageUri=content:

//mms/drafts/1

final PduPersister persister =PduPersister。

getPduPersister(mContext);

finalSlideshowModelslideshow=mSlideshow;

finalSendReqsendReq= makeSendReq(conv,mSubject);

 //Dothe dirty workof sending themessageoffofthemainUIthread。

newThread(new Runnable(){

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1