NotificationListenerService被杀死但从未重新启动

时间:2014-04-18 11:36:04

标签: android android-notifications android-4.4-kitkat android-4.3-jelly-bean

大家好我在使用我正在开发的应用程序时遇到了麻烦。我使用NotificationListenerService,提示用户从菜单中设置Notification权限,所有工作都完美无瑕。但是当我更新我的应用程序,或者当我的服务被杀死时,由于未知原因,不会重新启动。 在onCreate()中,我保留了对instance = this;服务的引用,我用它来确定我的服务是否从其他类运行。

这是onNotificationPosted(StatusBarNotification notification)中扩展NotificationListenerService的一些方法:

@Override
public void onNotificationPosted(StatusBarNotification sbn) {
    if (MyOtherService.hasInstance()) {
        Log.v(TAG, "onNotificationPosted called by system");
        int count_debug = 1;
        for (StatusBarNotificationListenerInterface listener : toBeNotified) {
            if(listener != null) {
                Log.v(TAG, "Loop call #" + count_debug++);
                listener.onNotificationHotAdded(sbn);
            }
        }
    } else {
        // MyOtherService isn't running. Does nothing but clearing toBeNotified list.
        toBeNotified.clear();
        Log.v(TAG, "onNotificationPosted: MyOtherService is stopped ");
    }
}

public static void registerForNotifications(StatusBarNotificationListenerInterface listener) {
    if (!toBeNotified.contains(listener)) {
        Log.v(TAG, listener.getClass().getCanonicalName() + " added to toBeNotified list");
        toBeNotified.add(listener);
    }
}

注意:MyOtherService扩展了DreamService,只是注册自己调用registerForNotifications()方法。

MyNotificationListener我覆盖onStartCommand返回START_STICKY

我真的很疯狂,这些东西几乎在每次更新时被杀死。

0 个答案:

没有答案