科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道在索尼爱立信JP7平台上自动启动MIDlet

在索尼爱立信JP7平台上自动启动MIDlet

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

开机就能自动启动MIDlet一直是J2ME开发者的梦想,这一梦想在索尼爱立信的JP7平台上实现了。不过需要注意的是早期的几款机型不支持,比如K790等。具体请参考索尼爱立信的手册。 开机自启动功能是通过Push注册来完成的。

作者:中国IT实验室 来源:中国IT实验室 2007年9月22日

关键字: JP7 索尼爱立信 编程 java

  • 评论
  • 分享微博
  • 分享邮件

    开机就能自动启动MIDlet一直是J2ME开发者的梦想,这一梦想在索尼爱立信的JP7平台上实现了。不过需要注意的是早期的几款机型不支持,比如K790等。具体请参考索尼爱立信的手册。

    开机自启动功能是通过Push注册来完成的,因此可以使用两种方式来注册。第一种通过在jad文件注明PUSH注册的方式即可,如下。

//MIDlet-Push-<n>: <ConnectionURL>, <MIDletClassName>, <AllowedSender>
MIDlet-Push-1: autostart://:, AutoStartStatic, *

请注意URL的写法是autostart://: 

如果想动态注册,可以通过下面的方法。

//Registers the pushRegistry
public void Register(){
        // List of registered push connections.
        String connections[];
        // Check to see if the connection has been registered.
        // This is a dynamic connection allocated on first
        // time execution of this MIDlet.
        connections = PushRegistry.listConnections(false);
        if (connections.length == 0) {
                try {
                        //Register so the MIDlet will wake up when phone is started.
                        PushRegistry.registerConnection("autostart://:", "AutoStartDyn", "*");
                        sDisplayString = "MIDlet is registered";
                } catch (Exception ex) {
                        System.out.println("Exception: " + ex);
                        sDisplayString = "Fail: " + ex;
                }
        } else {
                sDisplayString = "Already registered";
        }
        displayForm.deleteAll();
        displayForm.append(sDisplayString);
}

//Unregisters the pushRegistry
public void Unregister(){
        if (PushRegistry.unregisterConnection("autostart://:")){
                System.out.println("The pushRegistry is unregistered");
                sDisplayString = "MIDlet is unregistered.";
        }else{
                System.out.println("There is no pushRegistry to unregister");
                sDisplayString = "No MIDlet to unregister or failed to unregister";
        }
        displayForm.deleteAll();
        displayForm.append(sDisplayString);
}

由于手头没有SonyEricsson JP7平台的手机,因此没有办法测试开机自动启动功能。有条件的可以自己测试一下。

原文地址:http://developer.sonyericsson.com/site/global/techsupport/
tipstrickscode/java/p_autostarting_jp7midlets.jsp

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章