我是靠谱客的博主 清新诺言,最近开发中收集的这篇文章主要介绍android源码分析--MMS--ComposeMessageActivity,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

关注点:ComposeMessageActivity 涉及到DeleteMessageListener,Contact.UpdateListener,接口回调、MessageListItem用Handler处理点击事件、startActivityForResult 添加附件、RecipientsEditor自定义收件人控件、MsgListView、MsgListAdapter

1、DeleteMessageListener:点击删除会话框的确定键之后,回调改事件,onClick中用ConversationQueryHandler( extends AsyncQueryHandler)删除信息,onDeleteComplete之后会广播方式通知桌面widget,且触发MessageListAdapter( extends CursorAdapter)重写的onContentChanged()方法,最终接口OnDataSetChangedListener回调到ComposeMessageActivity startMsgListQuery()重新查询.

2、Contact.UpdateListener:当联系人有信息更新时会调用该方法,主要是涉及到名字、号码等更新,标题和会话列表的更新。联系人信息更新可能是通过Contacts应用修改的。

3、 ComposeMessageActivity.mMessageListItemHandler:显示详情、编辑、播放(图片、视频、音频、联系人附件、日历、幻灯片),这里比较有意思的是,MessageListItem的点击事件的响应起源是在MessageListItem的onItemClick,而处理却是在Activity,中间事件的传递用到了android.os.Message的基本用法,Message.obtain(Handler,Message);Message.sendToTarget();其中android.os.Message.obj=com.android.mms.ui.MessageItem

4、startActivityForResult彩信附件有多种形式,requestCode == REQUEST_CODE_XXX_XXX对应,使代码有整洁性。

5、RecipientsEditor:方便编辑多个收件人而定义的控件,本质是MultiAutoCompleteTextView,关注TextWatcher.beforeTextChanged onTextChanged afterTextChanged,正则表达式匹配号码, RecipientsEditor中关联ContactList显示多个联系人。

附上部分ListView关键代码:
// Initialize the list adapter with a null cursor.
mMsgListAdapter = new MessageListAdapter(this, null, mMsgListView, true, highlight);
mMsgListAdapter.setOnDataSetChangedListener(mDataSetChangedListener);//监听数据库变化
mMsgListAdapter.setMsgListItemHandler(mMessageListItemHandler);//处理点击事件
mMsgListView.setAdapter(mMsgListAdapter);
mMsgListView.setItemsCanFocus(false);
mMsgListView.setVisibility((mSendDiscreetMode || MessageUtils.isMailboxMode())
? View.INVISIBLE : View.VISIBLE);
mMsgListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView

最后

以上就是清新诺言为你收集整理的android源码分析--MMS--ComposeMessageActivity的全部内容,希望文章能够帮你解决android源码分析--MMS--ComposeMessageActivity所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部