特定の PORT 番号から SMS を受信したときにアプリケーションを自動的に起動/起動する方法は? デバイスでこれを確認するにはどうすればよいですか?
質問する
376 次
1 に答える
4
次のコード セグメントを検討して実装するだけで、
特定のポートで SMS を送信する場合
public class SendMessage
{
public static void execute(final String destination, final String port, final String message)
{
Thread thread = new Thread(new Runnable()
{
public void run()
{
MessageConnection msgConnection;
try
{
msgConnection = (MessageConnection)Connector.open("sms://"+destination+":" + port);
TextMessage textMessage = (TextMessage)msgConnection.newMessage(
MessageConnection.TEXT_MESSAGE);
textMessage.setPayloadText(message);
msgConnection.send(textMessage);
msgConnection.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
});
thread.start();
}
}
特定のポートで SMS を読み取る場合
// メッセージを聞くスレッド
public class ListenSMS extends Thread
{
private MessageConnection msgConnection;
private MessageListener listener;
private String port;
public ListenSMS(String port, MessageListener listener)
{
this.port = port;
this.listener = listener;
}
public void run()
{
try
{
msgConnection = (MessageConnection)Connector.open("sms://:" + port);
msgConnection.setMessageListener(listener);
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
// メッセージ到着時
public void notifyIncomingMessage(MessageConnection conn)
{
Message message;
try
{
message = conn.receive();
if (message instanceof TextMessage)
{
// here you invoke your application
TextMessage tMessage = (TextMessage)message;
formReceiver.append("Message received : "+tMessage.getPayloadText()+"\n");
}
else
{
formReceiver.append("Unknown Message received\n");
}
}
catch (InterruptedIOException e)
{
e.printStackTrace();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
于 2012-06-04T07:34:34.357 に答える