J2ME 发送彩信问题,请个位高手帮忙,长时间在线等待

原创 2017年01月02日 23:33:46
开发环境介绍:
eclipse + wtk 

问题:
将程序按照到nokia 5233的手机上后,通过程序发送彩信,彩信内容包括,图片和一段文字,发送到sony 爱立信的手机上。

1.nokia手机的发件箱中,打开刚发送的彩信后,有文字没有图片
2.爱立信手机上收到信息后,没有图片只有文字

然后本人在爱立信的手机上装上了程序,然后发送给nokia,nokia收到了彩信,并且有图片和文字

代码片段如下:
public class SendMMS extends Thread {
private MessagePart[] _msgParts = null;
private String _appID = "com.nakia.nfc.sample.app";
private String _phoneNO = null;
private String _address = null;
private String _subject = null;

private CameraMIDlet c = null;

public SendMMS(CameraMIDlet c, MessagePart[] msgParts, String appID,
String phoneNO, String subject) {
this._msgParts = msgParts;
this._appID = appID;
this._phoneNO = phoneNO;
this._subject = subject;
this.c = c;
}

/*
 * 发送彩信
 */
public void run() {
MessageConnection mmsconn = null;
try {
_address = "mms://" + _phoneNO;
/** 打开连接 */
mmsconn = (MessageConnection) Connector.open(_address);

MultipartMessage mmmessage = (MultipartMessage) mmsconn
.newMessage(MessageConnection.MULTIPART_MESSAGE);
mmmessage.setAddress(_address);
String priority = "normal"; // "high", "normal" or "low"
mmmessage.setHeader("X-Mms-Priority", priority);
for (int i = 0; i < _msgParts.length; i++) {
mmmessage.addMessagePart(_msgParts[i]);
}

// 由于J2me彩信设置主题只有setSubject(String)一个方法,而其内部默认字符编码格式
// 为UTF-16,所以中文主题显示为乱码,故不显示主题
// byte[] subjectBytes = _subject.getBytes("UTF-8");
// String tempSubject = new String(subjectBytes, "UTF-8");
// mmmessage.setSubject(_subject);

mmsconn.send(mmmessage);
c.addText("成功发送彩信");
} catch (Exception e) {
e.printStackTrace();
c.addText("发送失败:" + e.getMessage());
} finally {
if (mmsconn != null) {
try {
mmsconn.close();
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
}
}
}


public class MMSMessage {
private Vector parts = new Vector();
private int counter = 0;

/*
 * 获得添加完成后的彩信内容
 */
public MessagePart[] getParts() {
// parts 是一个Vector对象,它包括Mulitpart 消息
MessagePart[] partsArray = new MessagePart[parts.size()];
parts.copyInto(partsArray);
return partsArray;
}

/*
 * 添加文本部分到彩信
 */
public void addTextPart(String text, String mimeType, String encoding) {
MessagePart mpart = null;
byte[] contents = null;
try {
contents = text.getBytes(encoding);
mpart = new MessagePart(contents, 0, contents.length, mimeType,
"id" + counter, "contentLocation", encoding);
parts.addElement(mpart);
counter++;
} catch (Exception e) {
e.printStackTrace();
} finally {
mimeType = null;
encoding = null;
mpart = null;
contents = null;
}
}

/*
 * 添加图片部分到彩信
 */
public void addImagePart(byte[] raw, String mimeType) {
MessagePart mpart = null;
byte[] contents = null;
try {
// String mimeType = "image/jpeg";
InputStream in = new ByteArrayInputStream(raw);
contents = raw;
mpart = new MessagePart(in, mimeType,
"id" + counter, "image.jpg", null);
parts.addElement(mpart);
counter++;
} catch (Exception e) {
e.printStackTrace();
} finally {
mpart = null;
contents = null;
}
}
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

J2ME 彩信接收与发送

  • 2009-02-12 18:40
  • 407KB
  • 下载

j2ME MMS彩信开发API

  • 2009-09-26 14:05
  • 198KB
  • 下载

J2ME中文编码问题

中文 J2ME中文编码问题 1. 简介 本文介绍JavaME中文编码的相关问题,这个问题一度是互联网上的开发者们讨论的热门话题。本文整理和综合了网上众多相关内容,尽可能的为开发者提供一个全面...

j2me 出现的问题及解决办法

选择“run main project via OTA”时,模拟器在安装时出现错误,j2mesdk 出现以下错误提示: 这是第二次碰到这个问题了 Jad URL for OTA ex...

J2ME实现精确秒表计时

import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.Font; import javax.microedit...

时间的源代码J2ME

  • 2011-04-07 16:40
  • 36KB
  • 下载

J2ME中的时间处理方法

j2me,Http,l联网

1) .由于无线设备所能支持的网络协议非常有限,仅限于HTTP,Socket,UDP等几种协议,不同的厂家可能还支持其他网络协议,但是,MIDP 1.0规范规定,HTTP协议是必须实现的协议,而其他协...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)