2011-11-01 76 views
0

当android应用程序第一次启动时,从报警管理器开始实现服务的最佳方式是什么? 现在我有一个家庭活动,它是在创建时运行服务的活动的第一页。但是,当用户在应用程序菜单上再次启动应用程序时(应用程序正在运行时),家庭活动将再次运行,服务将再次启动。运行Android Start Service?

这种应用方式有没有更好的选择?

+0

这个问题还不清楚。请详细说明你想要做什么。无论如何,这听起来像你想使用bindService(),只是覆盖你的onCreate()或onStartCommand()方法,如果服务已经存在,就不会启动。 – Codeman

回答

3

请点击此链接...看看下面的实现。

http://blog.gregfiumara.com/archives/82 ...

,并针对检查服务是否处于活动状态或不...你可以简单地使用它。

private boolean isMyServiceRunning() { 
     ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); 
     for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) { 
      if ("com.example.background.BootableService".equals(service.service.getClassName())) { 
       return true; 
      } 
     } 
     return false; 
    } 

您要检查一个现有的服务...如果没有服务存在,则只需创建一个,否则你是好任何类使用此。

让我知道它是如何工作的。

+0

这就是我刚才谈到的那种“检查这个服务是否正在运行”的位。你甚至可以使它更好,并将其包含在服务的构造函数中,如果服务已经运行,则返回null。 – Codeman

+0

感谢upvote ...我一直在努力让我的代表从相当一段时间...再次感谢。 – medampudi

+0

只是保持在它。这是一个相当包容的社区,我们大多数人都很友善:) – Codeman

相关问题