【问题标题】:Switching between the Midlets在 Midlet 之间切换
【发布时间】:2012-02-06 10:14:34
【问题描述】:

我想知道如何在两个 Midlet 之间切换,即按命令从第一个 Midlet 转到第二个 Midlet?

【问题讨论】:

  • 我尝试先创建第二个 midlet 的实例并调用 startapp()
  • 创建实例应该抛出 SecurityException per API docs,你不知道吗?还有你描述它的方式我想知道你为什么认为你需要第二个midlet?使用普通的 java 对象/线程有什么不能做的吗?
  • 我所做的一切都是为了学习目的你它抛出了一个异常我刚刚开始 j2me

标签: java-me midp


【解决方案1】:

MIDP 1.0 只指定了一种启动 MIDlet 的方法:用户手动激活。MIDP 2.0 规范添加了两种新机制来启动 MIDlet:响应传入连接或在预定时间启动。新的 javax.microedition.io.PushRegistry 类同时处理这两种情况。
您可以使用警报来启动 MIDlet。PushRegistry.registerAlarm() 方法注册一个基于计时器的警报来启动 Midlet。它支持每个 MIDlet 在当前套件中有一个未完成的唤醒时间。(所以目标midlet 必须在 JAD 或清单文件中注册)

在 MIDlet 源代码中包括:

...

import  javax.microedtion.io.PushRegistry;   

在你的 commandAction 方法中:

...
String  MIDletname = "yourMIDletName";
Date date = new Date();
long currentTime = date.getTime();
long nextTime = currentTime  + 2000;
PushRegistry.registerAlarm( MIDletname, nextTime );
...

参考:
How can a MIDlet be launched automatically?
The MIDP 2.0 Push Registry

【讨论】:

    猜你喜欢
    • 2011-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-05
    相关资源
    最近更新 更多