【问题标题】:detect when blackberry App is Auto-started at boot up time vs started by user检测黑莓应用程序何时在启动时自动启动与用户启动
【发布时间】:2011-08-29 01:28:52
【问题描述】:

我想让我的应用程序在启动时自动运行,以便向 HttpFilterRegistry 注册。我知道how to make my app auto-start,但我真正想要的是区分系统启动应用程序的时间和用户启动应用程序的时间。如果用户正在启动应用程序,我只想显示 GUI。如果是系统,我只想注册 HTTP 过滤器。

这可能吗?

【问题讨论】:

    标签: blackberry startup launch


    【解决方案1】:

    创建备用入口点时,请指定“应用程序参数”。当应用启动时,您可以在 main() 方法中执行此操作

    //Autostart
    if( args != null && args.length > 0 && args[0].equals("the_application_argument")) {
        //register HTTP filters
    }
    
    //User start
    else{
        //launch the GUI
    }
    

    【讨论】:

    • 好的,这样就可以了,但是当我尝试从 HTTP 过滤器启动我的应用程序时,如果我退出应用程序并进入浏览器,就好像应用程序正在浏览器中运行一样,它显示了我的应用程序。从网络浏览器启动应用程序的正确方法是什么?
    • 看看示例中包含的 CHAPIDemo,应该会让你朝着正确的方向前进
    【解决方案2】:

    应用程序管理器类中有一个名为 inStartup() 的函数 确定设备是否处于启动过程中。所以你可以检查一下。 我认为它比创建新入口点并将参数传递给 main 更好

    【讨论】:

    • inStartup() 是为了确保启动时启动的应用程序表现良好。从 API 中:“确定设备是否正在启动。在启动期间,所有线程必须停顿,以便启动过程进入下一个启动层。”由于执行是不确定的,因此您不能保证当应用程序调用 inStartup() 时系统仍处于启动阶段。这就是为什么推荐的区分 autostart 和 userstart 的方法就像 jprofitt 在他的回答中所说的那样。
    猜你喜欢
    • 2022-12-05
    • 1970-01-01
    • 2018-03-01
    • 2011-04-06
    • 2012-05-12
    • 2012-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-23
    相关资源
    最近更新 更多