blackberry发送短信的应用可以调用
javax.wireless.messaging.MessageConnection;
来完成。
我首先尝试了用用数据报datagram发送2进制文件的形式,在我的黑莓8800上测试,遇乱码。
public
SendSms() {
try
{
_dc = (DatagramConnection)Connector.open(_openString);
byte
[] data = msg.getBytes();
Datagram d = _dc.newDatagram(_dc.getMaximumLength());
d.setAddress("//" + addr);
_dc.send(d);
}
catch
( IOException e) {
}S
ystem.exit(0);
}
然后改用javax.wireless.messaging.MessageConnection;的形式
成功发送任意字符(包括中文)
代码如下:
package com.kennan.contactList;
import javax.wireless.messaging.MessageConnection;
import javax.wireless.messaging.TextMessage;
public final class Sender extends Thread {
private MessageConnection _mc;
private String _address;
private String _message;
public Sender(MessageConnection mc) {
this._mc = mc;
start();
}
public synchronized void send(String addr, String msg) {
_address = addr;
_message = msg;
notify();
}
public synchronized void run() {
while (true) {
// If no client to deal, wait until one connects
if (_message == null) {
try {
wait();
} catch (InterruptedException e) {
}
}
try {
TextMessage msg;
// Are we a sender thread for the client ? If so then there's
// no address parameter
if (_address == null) {
msg = (TextMessage) _mc
.newMessage(MessageConnection.TEXT_MESSAGE);
} else {
msg = (TextMessage) _mc.newMessage(
MessageConnection.TEXT_MESSAGE, _address);
}
msg.setPayloadText(_message);
_mc.send(msg);
} catch (Exception ioe) {
ioe.printStackTrace();
}
// Completed client handling, return handler to pool and
// mark for wait
_message = null;
}
}
}
调用代码
package com.kennan.contactList;
import java.io.IOException;
import javax.microedition.io.Connector;
import javax.wireless.messaging.MessageConnection;
public class SendSMS {
public static void sendSMS(String phoneNumber, String messageContext) {
try {
MessageConnection mc = (MessageConnection) Connector
.open("sms://" + phoneNumber);
Sender sender = new Sender(mc);
sender.send(null, messageContext);
} catch (IOException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
1. 发送短信:在J2ME中,我们使用JSR-120(Mobile Information Services API)中的`javax.wireless.messaging`包来处理短信发送。首先,创建一个`MessageConnection`对象,然后通过`TextMessage`或`...
其中,“send_sms_in_j2me”表明发送短信的逻辑是通过J2ME实现的,而“sms_blackberry”则表明它是针对Blackberry设备的短信应用。 在压缩包的文件列表中,我们看到“www.pudn.com.txt”可能是一个文档,可能是...
4. **设备接口**:为了发送短信,程序需要与手机的硬件接口进行通信,这通常涉及到J2ME的MIDP(Mobile Information Device Profile)层,它提供了一套API来访问设备功能。 5. **源代码分析**:"SMS"文件很可能是...
发送短信的过程大致如下: 1. **初始化MessageConnection**:通过调用`Connector.open()`方法,传入适当的URL(如`"sms://+1234567890"`,这里的数字是目标手机号码)来打开一个到短信服务的连接。 2. **创建...
**J2ME手机发送短信示例** 在移动设备开发领域,Java 2 Micro Edition(J2ME)是一种广泛使用的平台,用于创建可以在各种小型设备上运行的应用程序,包括早期的智能手机和平板电脑。本示例将详细介绍如何使用J2ME...
在本文中,我们将深入探讨如何使用J2ME来实现SMS短信的接收和发送功能,并基于提供的实例源代码进行学习。 首先,要理解J2ME中的SMS通信,我们需要了解两个关键概念:PDU(Protocol Data Unit)和AT命令。PDU是SMS...
标题中的“smd.rar_Sms j2me_j2me_j2me sms_send SMS_send sms j2me code”表明这是一个关于J2ME平台上的SMS(Short Message Service,短信服务)发送和接收的代码库或者教程。J2ME,全称为Java 2 Micro Edition,是...
单独封装好的类。调用是只有两个参数。一个是 手机号码 还有一个 是 短信内容。非常简单。调试一切OK。
此外,如果需要发送短信,还可以使用WMA的`send()`方法,但要注意发送短信通常会涉及费用,并可能受到运营商的限制。 总结起来,J2ME的无线消息API为开发者提供了一种在移动设备上处理短信的途径。通过理解WMA的...
1. **创建SMSConnection**:首先,我们需要创建一个SMSConnection对象,这是发送短信的基础。通过调用`javax.wireless.messaging.MessageConnection`类的`open("sms://+电话号码")`方法来建立连接。 2. **创建...
标题“SendSMS.zip_SendSms_j2me_j2me sms_send sms a_sms using java”暗示了这个压缩包包含了一个关于如何在J2ME中使用Java发送短信的示例或库。描述进一步明确了这个主题,指出它是通过无线消息API(Wireless ...
j2me短信发送平台,与大家一起分享我的成果,谢谢支持,非常感激。。。。
总之,J2ME发送短信涉及了对MIDP和CLDC的理解,以及正确配置和使用`SMSManager`对象。通过这个源码示例,开发者可以学习到实际的短信发送流程,并将其应用于自己的J2ME应用中。同时,Myeclipse和EclipseME插件提供了...
4. **SMS API**:在J2ME环境中,发送和接收短信通常需要使用JSR-120(Mobile Information Services API)或JSR-205( Multimedia Messaging Service - MMS API)。这些API提供了创建、发送和接收文本消息的接口。 5...
7. **权限管理**:在J2ME应用中,发送短信可能需要用户的权限,这需要在MIDlet的`MIDlet-Permissions`标签中声明,例如`javax.microedition.io.Connector.sms`。 8. **事件处理和回调**:发送短信通常是异步操作,...
"j2me模拟手机短信发送源码" 这个标题指出我们讨论的是一个使用Java 2 Micro Edition (J2ME) 平台编写的代码示例,其目的是模拟手机发送短信的功能。J2ME是Java的一个子集,主要用于开发嵌入式设备和移动设备的应用...
2. **Connection API**:J2ME的连接API允许应用程序访问网络资源,包括GSM(Global System for Mobile Communications)和GPRS(General Packet Radio Service)网络,这些是手机用于发送短信的基础。 3. **javax....
发送短信的基本步骤包括: 1. 打开`MessageConnection`,指定目标地址。 2. 创建`TextMessage`对象,设置短信内容和目标电话号码。 3. 将`TextMessage`通过`MessageConnection`发送出去。 4. 关闭`...
发送短信 (SMSSend.java, SMSSender.java) 发送短信则涉及`javax.wireless.messaging.TextMessage`接口。以下是发送短信的基本流程: 1. **打开连接**:首先,你需要打开一个`MessageConnection`到目标电话号码。...
它可能会包含创建`SerialConnection`实例,设置通信参数,编码短信内容,以及实际发送短信的函数。 4. `SerialConnectionException.java`:这是一个异常类,用于捕获和处理在操作`SerialConnection`过程中可能出现...