1: sendMultimediaMessage
下面是sendMultimediaMessage的流程图
2:downloadMultimediaMessage
此接口的是实现流程跟sendMultimediaMessage差不多,对应MmsService中的downloadMessage,新建DownloadRequest去下载
doHttp在DownloadRequest.java中实现,http post方法变成get用于下载
3:getCarrierConfigValues
得到Mms的配置信息,此接口packages/services/Mms/src/com/android/mms/service/MmsConfig.java(不是Mms apk下目录里的Mmsconfig)
得到MmsConfig中mKeyValues保存的信息,mKeyValues从mms_config中得到
<java>
private void loadFromResources(Context context) {
Log.d(TAG, "MmsConfig.loadFromResources");
final XmlResourceParser parser = context.getResources().getXml(R.xml.mms_config);
final MmsConfigXmlProcessor processor = MmsConfigXmlProcessor.get(parser);
processor.setMmsConfigHandler(new MmsConfigXmlProcessor.MmsConfigHandler() {
@Override
public void process(String key, String value, String type) {
update(key, value, type);
}
});
try {
processor.process();
} finally {
parser.close();
}
}
</java>
update函数就是往mKeyValues中写数据
4:此外MmsService中还实现updateMmsSendStatus、importTextMessage、importMultimediaMessage等接口,只是5.0 SDK没有开放这些接口
后续版本可能开放
同时测试这些接口的demo在源码下development/samples/ApiDemos/src/com/example/android/apis/os/MmsMessagingDemo.java这里
把development/samples/ApiDemos/Android.mk中的21行#include $(BUILD_PACKAGE),注释去掉就可以编译,生成ApiDemo就可以运行测试了