androidpn 模拟器可实现消息推送 真机实现不了的解决办法

问题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");
    }




你可能感兴趣的:(androidpn 模拟器可实现消息推送 真机实现不了的解决办法)