2011-11-01 31 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

相關問題