[J2ME] J2ME 문자 보내기(단발과 위군발)
MessageConnection mconn = null;
try {
mconn = (MessageConnection) Connector.open("sms://+8618688880000");
TextMessage m = (TextMessage) mconn
.newMessage(MessageConnection.TEXT_MESSAGE);
m.setAddress("sms://+8618688880000");
m.setPayloadText(" ");
mconn.send(m);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
mconn.close();
} catch (IOException e) {
e.printStackTrace();
}
}
다음은 제가 쓴 도구 종류입니다. sendSMS 방법을 호출하여 단발 또는 위조 군발을 할 수 있습니다. 파라미터에는 사용자 정의 감청기인 ISMSSenderListener가 사용되었습니다. 이 감청기는 호출자에게 발송 상태, 코드를 알 수 있도록 리셋을 제공합니다.
import java.io.IOException;
import javax.microedition.io.Connector;
import javax.wireless.messaging.MessageConnection;
import javax.wireless.messaging.TextMessage;
/**
*
*
* @author Denger
*
*/
public class SMSHelper {
private static final String TAG = "SMSHelper";
/**
* SMS
*
* @param lsn
*
* @param number
* , “+86”
* @param msg
*
*/
public static void sendSMS(final ISMSSenderListener lsn,
final String number, final String msg) {
new Thread() {
public void run() {
send(lsn, number, msg);
};
}.start();
}
/**
* SMS
*
* @param lsn
*
* @param numbers
*
* @param msg
*
*/
public static void sendSMS(final ISMSSenderListener lsn,
final String[] numbers, final String msg) {
new Thread() {
public void run() {
for (int i = 0; i < numbers.length; i++) {
send(lsn, numbers[i], msg);
try {
sleep(500);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}.start();
}
/**
* : “+86”,
*
* @param number
* @return
*/
public static String formatNumber(String number) {
if (number.startsWith("+86")) {
return number.substring(3);
}
return number;
}
private static void send(ISMSSenderListener lsn, String number, String msg) {
MessageConnection mconn = null;
String addr = "sms://+86";
try {
number = formatNumber(number);
addr += number;
lsn.onSendStateChange(addr, ISMSSenderListener.SENDING);
Log.d(TAG, " , :" + addr);
mconn = (MessageConnection) Connector.open(addr);
TextMessage m = (TextMessage) mconn
.newMessage(MessageConnection.TEXT_MESSAGE);
m.setAddress(addr);
m.setPayloadText(msg);
mconn.send(m);
lsn.onSendStateChange(addr, ISMSSenderListener.SENDOVER);
Log.d(TAG, " , ");
} catch (Exception e) {
e.printStackTrace();
lsn.onSendStateChange(addr, ISMSSenderListener.SENDERROR);
Log.e(TAG, " :" + e.getMessage());
} finally {
try {
mconn.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
/**
* SMS
*
* @author Denger
*
*/
public interface ISMSSenderListener {
/**
*
*/
public static final int SENDING = 0;
/**
*
*/
public static final int SENDOVER = 1;
/**
*
*/
public static final int SENDERROR = -1;
/**
* SMS
*
* @param state
* ,
*/
void onSendStateChange(String num, int state);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Exception in thread main java.lang. NoClassDefFoundError 오류 해결 방법즉,/home/hadoop/jarfile) 시스템은 Hello World 패키지 아래의class라는 클래스 파일을 실행하고 있다고 오인하여 시스템의 CLASSPATH 아래 (일반적으로 현재 디렉터리를 포함) Hell...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.