J2ME中文教程 9 MIDP 2 Push技术[5]

[入库:2006年2月23日] [更新:2007年3月24日]

本文简介:

编译并运行Sender程序,我们将可以看到PushMIDlet被激活的时候弹出的对话框,选择okAMS将会激活PushMIDlet

 

 

MIDP2.0规范中并没有规定设备必须要支持什么协议,inbound连接的协议是具体设备实现相关的。即使设备支持一种连接协议,也不一定支持将他用于Push启动,请读者参考各个厂商的API取得相关信息。一般可以使用如下几种形式:1)基于消息的短消息服务 2)基于流的TCP sockets 3)基于包的数据报。

9.2.3   处理数据

你可能意识到了,我们的程序并没有处理那个激活MIDlet的连接。在一个真正的应用中,被唤醒的MIDlet应该在启动过程中判断自己是被用户打开的还是被利用push技术唤醒的。如果是被唤醒的,应用程序应该紧接着打开这个连接,处理数据。下面的代码示范了如何判断是否被唤醒:

 

String connections[]=PushRegistry.listConnections(true);//传入true表示仅仅取得接入的连接

for(int i=0; i< connections.length;i++) {

   //利用这个连接字符串打开连接处理

}

9.3    动态注册与基于计时器的Push

动态注册是指通过使用PushRegistry应用编程接口在运行时进行注册。基于时钟和基于inbound连接的两种方式都可以使用动态注册,读者应该知道使用基于时钟的push方式只能通过动态注册。

 

基于时钟的动态注册比较简单,我们只是简单的调用PushRegistry的静态方法registerAlarm(String MIDlet,long time),这样当指定的时间到达的时候,AMS就会唤醒参数中指定的MIDlet。每个MIDlet只有一个基于计时器的注册,重复调用registerAlarm会覆盖上次的结果。下面我们给出一种基于时钟的Push动态注册的实例,我们的MIDlet会在程序结束后的10秒钟后自动启动。

 

本文关键:J2ME中文教程 9 MIDP 2 Push技术
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top