发送数据消息
一个好的习惯是当向远程设备广播Intent时创建自定义的动作,如下面的片段所示:
public static final String ACTION_OTA_ELIMINATE = “com.paad.ota_eliminate_action”;
接下来的片段将显示如何创建一个简单的Intent,它将包装到数据消息中,来向远程设备传递上述的动作:
Intent intent = new Intent(ACTION_OTA_ELIMINATE);
和一般广播Intent一样,你可以在Intent中打包额外的信息。这些额外的信息在远程设备上重新广播时也将包含在Intent中。
intent.putExtra(“long”, String.valueOf(location.getLatitude()));
intent.putExtra(“lat”, String.valueOf(location.getLatitude()));
intent.putExtra(“target”, “Sarah Conner”);
intent.putExtra(“sender”, gTalk.getUsername());
目前,OTA Intent广播机制只支持字符串额外信息。非字符串信息在传递前将被忽略,而且在目标设备上将获取不到。
使用sendDataMessage方法来发送消息,传入目标用户名和要广播的Intent。sendDataMessage可通过IMSession或ChatSession得到,如下所示:
String username = “T1000@sky.net”;
// Send to target user.
imSession.sendDataMessage(username, intent);
// Send to all chat room participants.