package com.test.pn;
import org.jivesoftware.smack.Connection;
import org.jivesoftware.smack.ConnectionConfiguration;
import org.jivesoftware.smack.ConnectionListener;
import org.jivesoftware.smack.PacketListener;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.ConnectionConfiguration.SecurityMode;
import org.jivesoftware.smack.filter.AndFilter;
import org.jivesoftware.smack.filter.PacketFilter;
import org.jivesoftware.smack.filter.PacketIDFilter;
import org.jivesoftware.smack.filter.PacketTypeFilter;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.Packet;
import org.jivesoftware.smack.packet.Registration;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.provider.ProviderManager;
import org.xmlpull.v1.XmlPullParser;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
public class NotificationService extends Service{
public void onCreate() {
ConnectionConfiguration connConfig = new ConnectionConfiguration(
"10.0.2.2", 5222);
connConfig.setSecurityMode(SecurityMode.required);
connConfig.setSASLAuthenticationEnabled(false);
connConfig.setCompressionEnabled(false);
Connection connection = new XMPPConnection(connConfig);
try {
connection.connect();
ProviderManager.getInstance().addIQProvider("notification",
"androidpn:iq:notification",
new IQProvider(){
public IQ parseIQ(XmlPullParser parse) throws Exception {
Log.i("接收", "接收到消息......");
return null;
}
});
Registration registration = new Registration();
PacketFilter packetFilter = new AndFilter(new PacketIDFilter(
registration.getPacketID()), new PacketTypeFilter(
IQ.class));
PacketListener packetListener = new PacketListener(){
public void processPacket(Packet arg0) {
}
};
connection.addPacketListener(packetListener, packetFilter);
registration.setType(IQ.Type.SET);
registration.addAttribute("username", "12345");
registration.addAttribute("password", "12345");
connection.sendPacket(registration);
connection.login("12345", "12345", "AndroidpnClient");
connection.addConnectionListener(new ConnectionListener(){
public void connectionClosed() {
}
public void connectionClosedOnError(Exception arg0) {
}
public void reconnectingIn(int arg0) {
}
public void reconnectionFailed(Exception arg0) {
}
public void reconnectionSuccessful() {
}
});
} catch (XMPPException e) {
e.printStackTrace();
}
super.onCreate();
}
public void onDestroy() {
super.onDestroy();
}
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
}
public IBinder onBind(Intent intent) {
return null;
}
}
androidpn—demo
5星 · 超过95%的资源 需积分: 10 145 浏览量
2011-09-07
14:54:35
上传
评论 1
收藏 590KB RAR 举报
synge33
- 粉丝: 5
- 资源: 19
最新资源
- pta题库答案c语言之排序4统计工龄.zip
- pta题库答案c语言之树结构7堆中的路径.zip
- pta题库答案c语言之树结构3TreeTraversalsAgain.zip
- pta题库答案c语言之树结构2ListLeaves.zip
- pta题库答案c语言之树结构1树的同构.zip
- 基于C++实现民航飞行与地图简易管理系统可执行程序+说明+详细注释.zip
- pta题库答案c语言之复杂度1最大子列和问题.zip
- 三维装箱问题(Three-Dimensional Bin Packing Problem,3D-BPP)是一个经典的组合优化问题
- 以下是一些关于Linux线程同步的基本概念和方法.txt
- 以下是一个简化的示例,它使用pygame库来模拟烟花动画的框架.txt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
- 3
- 4
- 5
- 6
前往页