2013-04-12 7 views
-1

Я хочу проверить, работает ли служба или нет, когда приложение закрыто пользователем. Как я могу это сделать. Я делаю это в onReceive of broadcastReceiver. Но даже после закрытия силы он показывает, как работает Toast.проверить, работает ли служба

boolean isServiceRunning = AppSettings.getServiceRunning(context);  
    if (isServiceRunning) 
    { 
     Toast.makeText(context,"service running", Toast.LENGTH_LONG).show(); 

    } 
    else 
    { 
     Toast.makeText(context,"service stopped", Toast.LENGTH_LONG).show();   
    } 
+0

как вы делаете в OnReceive из BroadcastReceiver? Любой соответствующий код будет полезен. –

+0

Я разместил код. Что мне нужно, чтобы опубликовать – Manasi

ответ

1

Попробуйте это:

public boolean checkRunningService() { 
     ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); 
     for (RunningServiceInfo myService : activityManager 
       .getRunningServices(Integer.MAX_VALUE)) { 
      if ("com.main.YOUR_SERVICE_NAME".equals(myService.service 
        .getClassName())) { 
       return true; 
      } 
     } 
     return false; 
    } 

Надеется, что это помогает.

Edit: -

Ваша служба в файле манифеста должно быть так:

<service 
      android:name="com.main.YOUR_SERVICE_NAME" 
      android:enabled="true" /> 
+1

Что такое параметр в getSystemServices(). Я имею в виду, что это моя служба для b checked – Manasi

+1

Это android.content.Context.ACTIVITY_SERVICE, который используется для извлечения ActivityManager. –

+1

Sory для глупых вопросов. – Manasi