guicontroller.java
来自「J2ME程序实现开机自启动的简单例子源码。」· Java 代码 · 共 547 行 · 第 1/2 页
JAVA
547 行
}
case EventID.EVENT_DISPLAYMMS_BACK:
case EventID.EVENT_REGISTER_BACK:
{
/*
* 初始化功能主菜单列表,并显示它
*/
if(m_mainMenuList == null)
{
m_mainMenuList = new MainMenuList(
String.valueOf(CommandResources.getChars(
CommandResources.TXT_T_APP)), this);
}
setCurrent(m_mainMenuList);
break;
}
case EventID.EVENT_REGISTER_REG:
{
/*
* 要注册自动启动功能;
* 首先存储当前设置页面上的所有参数进入RMS
*/
String port = (String)args[0];
m_AppSettings.save(port);
/*
* 开始注册
*/
// 匿名内部Thread,由他来完成注册Push Registry的任务,当然也可以通过静态注册。
Thread registerThread = new Thread()
{
private String m_sRegClassName = "";
public void setClassName(String className){
m_sRegClassName = className;
}
public void run(){
System.out.println("Try push registry for:" +
m_sRegClassName);
/*
* 构造出要注册的URL,类似于"sms://:8341"
*/
SMSSettings oAppSettings
= SMSSettings.getInstance();
String smsprotocolPrefix =
String.valueOf(CommandResources.getChars(
CommandResources.TXT_T_DEFAULT_SMS_PORTOCOL));
String port = String.valueOf(oAppSettings.getSMSPort());
String connURL = smsprotocolPrefix
+ port;
try {
String MIDletStr = "com.ultrapower.midlet.MIMEReceiver";
String FilterStr = "*";
PushRegistry.registerConnection(connURL,
MIDletStr, FilterStr);
}
catch(IllegalArgumentException iae)
{
iae.printStackTrace();
setCurrent(
new Alert(
"注册Push Registry错误",
connURL + "不被是认为合法的连接语法!"
+ iae.getMessage() +
"/" + iae.getClass(),
null, AlertType.ERROR),
(Displayable)m_registerForm);
}
catch ( ClassNotFoundException cnf ) {
cnf.printStackTrace();
setCurrent(
new Alert(
"注册Push Registry错误",
"可能是你的手机不支持!"
+ cnf.getMessage() +
"/" + cnf.getClass(),
null, AlertType.ERROR),
(Displayable)m_registerForm);
} catch ( IOException ioe ) {
ioe.printStackTrace();
setCurrent(
new Alert(
"注册Push Registry错误",
"可能本连接已经被其他应用注册了!"
+ ioe.getMessage() +
"/" + ioe.getClass(), null, AlertType.ERROR),
(Displayable)m_registerForm);
}
catch(SecurityException se)
{
se.printStackTrace();
setCurrent(
new Alert(
"注册Push Registry错误",
"可能没有权限注册!"
+ se.getMessage() +
"/" + se.getClass(), null, AlertType.ERROR),
(Displayable)m_registerForm);
}
catch(Exception exc)
{
exc.printStackTrace();
}
System.out.println("Succ push registry!");
}
};
registerThread.start();
setCurrent(m_registerForm);
break;
}
case EventID.EVENT_REGISTER_UNREG:
{
/*
* 要反注册自动启动功能;
* 首先存储当前设置页面上的所有参数进入RMS
*/
String port = (String)args[0];
m_AppSettings.save(port);
/*
* 开始反注册
*/
// 匿名内部Thread,由他来完成注册Push Registry的任务,当然也可以通过静态注册。
Thread registerThread = new Thread()
{
public void run(){
System.out.println("Try unregister push registry for:");
/*
* 构造出要注册的URL
*/
SMSSettings oAppSettings
= SMSSettings.getInstance();
String smsprotocolPrefix =
String.valueOf(CommandResources.getChars(
CommandResources.TXT_T_DEFAULT_SMS_PORTOCOL));
String port = String.valueOf(oAppSettings.getSMSPort());
String connURL = smsprotocolPrefix
+ port;
try {
// 类似于"sms://:8341"
PushRegistry.unregisterConnection(connURL);
}
catch(IllegalArgumentException iae)
{
iae.printStackTrace();
setCurrent(
new Alert(
"反注册Push Registry错误",
connURL + "不被是认为合法的连接语法!"
+ iae.getMessage() +
"/" + iae.getClass(),
null, AlertType.ERROR),
(Displayable)m_registerForm);
}
catch(SecurityException se)
{
se.printStackTrace();
setCurrent(
new Alert(
"反注册Push Registry错误",
"可能没有权限注册!"
+ se.getMessage() +
"/" + se.getClass(), null, AlertType.ERROR),
(Displayable)m_registerForm);
}
catch(Exception exc)
{
exc.printStackTrace();
}
System.out.println("Succ unregister push registry!");
}
};
registerThread.start();
setCurrent(m_registerForm);
break;
}
case EventID.EVENT_ABOUT:
{
if(m_about == null)
{
m_about = new About(
String.valueOf(CommandResources.getChars(
CommandResources.TXT_T_ABOUT)));
}
setCurrent(m_about);
break;
}
case EventID.EVENT_DISPLAYMMS_FORM:
{
if(m_displaymmsForm == null)
{
m_displaymmsForm = new FormMsgReceive(
String.valueOf(CommandResources.getChars(
CommandResources.TXT_T_DISPLAYMMS)),
this);
}
setCurrent(m_displaymmsForm);
break;
}
case EventID.EVENT_DISPLAYMMS_ERROR:
{
m_displaymmsForm.failSend();
// 发送短信时出错了
setCurrent(
new Alert(
String.valueOf(
CommandResources.getChars(
CommandResources.TXT_T_DISPLAYMMS)),
String.valueOf(
CommandResources.getChars(
CommandResources.TXT_PARSEMMS_ERROR_MSG))
+ m_sParseMMSException, null, AlertType.ERROR),
(Displayable)m_displaymmsForm);
break;
}
case EventID.EVENT_DISPLAYMMS_SUCC:
{
/*
* ThreadMMSHandler通知控制器已经解析出了消息
*/
String sMsg = (String)args[0];
String sMobile = (String)args[1];
// 显示短信成功了
m_displaymmsForm.succReceive(sMsg, sMobile);
//
setCurrent(m_displaymmsForm);
break;
}
case EventID.EVENT_LISTCONNECTIONS_ERR:
{
/*
* 初始化功能主菜单列表,并显示它
*/
if(m_mainMenuList == null)
{
m_mainMenuList = new MainMenuList(
String.valueOf(CommandResources.getChars(
CommandResources.TXT_T_APP)), this);
}
/*
* 为了以防万一,一旦初始化的时候PushRegistry.listConnections出错,
* 怀疑可能是用户手机不支持MIDP2.0。那么必须将这个情况通告用户。
*/
setCurrent(
new Alert(
String.valueOf(
CommandResources.getChars(
CommandResources.TXT_T_DISPLAYMMS)),
String.valueOf(
CommandResources.getChars(
CommandResources.TXT_PARSEMMS_ERROR_MSG))
+ m_sParseMMSException, null, AlertType.ERROR),
(Displayable)m_mainMenuList);
break;
}
default:
break;
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?