android:检查GcmListenerService是否启动了蜜蜂

时间:2016-01-07 16:26:07

标签: android google-cloud-messaging listener

我对GcmListenerService有疑问。

我有一个接收GCM消息的服务:

public class MyGcmListener extends GcmListenerService {  

    @Override
    public  void onMessageReceived(String from, Bundle data) {
    Log.i("mytag", "message received");
    ....
    }
}

通常我的应用程序的主要活动开始它:

 context.startService(new Intent(context, MyGcmListener.class));

但似乎有时会创建两个服务对象并且会产生一个重复的日志消息:

01-07 17:15:02.090    3655-3668/package: message received
01-07 17:15:02.090    3655-3668/package: message received

因此,当我从主要活动启动服务时,我想尝试该服务已经处于活动状态:

if (!MyGcmService.isActive())
   context.startService(new Intent(context, MyGcmListener.class));

其中一个解决方案可能是制作一个变量boolean active,可以在true方法中设置onStartCommand(),在false中设置onDestroy()(如{ {3}})。但是GcmListenerService没有onStartCommand()方法。

那我该如何实现呢?已经看过这样的问题了?

0 个答案:

没有答案
相关问题