问题1 转载地址:http://www.apkbus.com/android-55854-3-1.html
解决办法
“首先要保证模拟器能够实现消息推送。我先把我修改后的代码给你说下吧。看能实现不。 在NotificationService类中修改 public static final String SERVICE_NAME = "abc"; 然后在注册文件中注册服务中:<action android:name="abc" />。就可以了。”
注册文件中注册服务中的修改位置为以下标红的,通过测试,外网服务器也是正常的。
<service android:enabled="true"
android:name="org.androidpn.client.NotificationService"
android:label="NotificationService">
<intent-filter>
<action android:name="abc" />
</intent-filter>
</service>
问题2 服务器重启,或手机网络断开自动重连的解决办法(已测试通过)
在XmmpManager中加上如下红色代码就可:
private void addTask(Runnable runnable) {
Log.d(LOGTAG, "addTask(runnable)...");
taskTracker.increase();
synchronized (taskList) {
if (taskList.isEmpty() && !running) {
running = true;
futureTask = taskSubmitter.submit(runnable);
if (futureTask == null) {
taskTracker.decrease();
}
} else {
//解决服务器端重启后,客户端不能成功连接androidpn服务器
runTask();
taskList.add(runnable);
}
}
Log.d(LOGTAG, "addTask(runnable)... done");
}