我做了以下但是它不能永远工作。如果我手动启动应用程序然后关闭设备并打开我的应用程序启动的设备,它的工作原理。但是在关闭设备之前如果我切换到另一个应用程序然后在打开设备后,“我的应用程序没有启动”。
import net.rim.device.api.system.ApplicationDescriptor;
import net.rim.device.api.system.ApplicationManager;
import net.rim.device.api.ui.UiApplication;
public class MyApp extends UiApplication
{
public static void main(String args[]) {
if (args.length == 0)
{
ApplicationDescriptor current = ApplicationDescriptor.currentApplicationDescriptor();
current.setPowerOnBehavior(ApplicationDescriptor.POWER_ON);
ApplicationManager manager = ApplicationManager.getApplicationManager();
manager.scheduleApplication(current, System.currentTimeMillis()
+ 2000, true);
}
System.out.println("restarted !");
MyApp app = new MyApp();
app.enterEventDispatcher();
}
public MyApp()
{
pushScreen(new MyScreen());
}
}
Please help..........it's important...and thanks a lot.
答案 0 :(得分:1)
我不是黑莓专家,但我是为iOS和Android开发的。开/关开关或电源按钮几乎没有链接到设备,按下时执行的操作是在操作系统中写入的,而不是在应用程序中,我认为你不会找到这个按钮的事件监听器被按下,想象一下,如果一个应用程序可能阻止手机关机(或......),它可能引发的安全问题
答案 1 :(得分:0)
在Eclipse项目中,打开Blackberry_App_Description.xml
文件,转到“备用入口点”选项卡,在列表中添加新条目,启用“启动时自动运行”选项,并为其指定您选择的“应用参数”值。然后,您可以更新main()
函数,以便在应用运行时查找该值:
public static void main(String args[])
{
if ((args != null) && (args.length > 0) && (args[0].equals("MyValue")))
{
System.out.println("System Startup !");
}
MyApp app = new MyApp();
app.enterEventDispatcher();
}
答案 2 :(得分:0)
在Android上它完全可能。您只需使用正确的过滤器注册广播接收器,并在清单上添加权限。
我认为你不应该从按钮的角度来考虑这个功能,而是更多关于事件观点的电源。