gpt4 book ai didi

java-me - 如何实现当 SMS 发送到端口 50000 时调用的 MIDlet...代码不起作用

转载 作者:行者123 更新时间:2023-12-02 13:03:18 25 4
gpt4 key购买 nike

如何实现在向端口 50000 发送 SMS 时调用的 MIDlet?

该代码无法运行。手机上无法接收短信,短信是通过模拟器(JAVA Me SDK)发送的。

需要做什么设置才能接收短信?

我的代码:

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

import java.io.IOException;
import javax.microedition.io.PushRegistry;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;

/**
* @author bonni
*/
public class Midletsms extends MIDlet implements CommandListener{

protected Display display;
//boolean started=false;
Form form = new Form("Welcome");
Command mCommandQuit;

public void startApp() {

String url = "sms://:50000";
try {

PushRegistry.registerConnection(url,this.getClass().getName(), "*");
// PushRegistry.registerConnection(url,"Midletsms.class", "*");
} catch (IOException ex) {

} catch (ClassNotFoundException ex) {

}
form.append("This midlet gets invoked when message is sent to port:50000");



display = Display.getDisplay(this);
display.setCurrent(form);

mCommandQuit = new Command("Quit", Command.EXIT, 0);
form.addCommand(mCommandQuit);
form.setCommandListener(this);


}

public void pauseApp() {
}

public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable d) {
// throw new UnsupportedOperationException("Not supported yet.");
String label = c.getLabel();
if(label.equals("Quit"))
{
destroyApp(false);
notifyDestroyed();
}
}
}

最佳答案

不确定我完全理解这个问题。但您需要阅读 PushRegistry .

所以推送注册有两种类型,静态和动态。

您给出的代码示例使用动态注册。 您需要至少手动调用此 MIDlet 一次才能进行推送注册。 (旁白:在您的示例中,您在 startApp 方法中执行此操作,这是一个非常糟糕的主意!推送注册是一个潜在的阻塞操作,因此不应在诸如 startApp。您应该在新线程中执行此操作)。

另一种方法是静态注册,您可以将推送信息包含在jad中。推送端口将在安装 MIDlet 时注册,无需运行它。

最后你说

sms is sent through the emulator

这是什么意思?为了启动应用程序,您需要从另一个 MIDlet(如果需要,可以在同一部手机上)向相关端口号发送短信。

关于java-me - 如何实现当 SMS 发送到端口 50000 时调用的 MIDlet...代码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12394158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com