티스토리 뷰

반응형
// 서비스가 실행중인 체크하는 함수
private boolean getServiceTaskName() {
boolean checked = false;
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningServiceInfo> info;
info = am.getRunningServices(30);
 
for(Iterator<ActivityManager.RunningServiceInfo> iterator = info.iterator(); iterator.hasNext();) {
RunningServiceInfo runningTaskInfo = (RunningServiceInfo) iterator.next();
 
if (runningTaskInfo.service.getClassName().equals("pkg.Drake.AlramService")) {
checked = true;
Log.e("Service Check", "Service is Live !!");
}
}
 
if(checked == false) Log.e("Service Check", "Service is Die !!");
 
return checked;
}
 
// Manifest
<uses-permission android:name="android.permission.GET_TASKS" />
 
// 사용
if(getServiceTaskName() == false)  { // 사용중이 아닐때
        // 알림 서비스 가동
Intent intent;
 intent = new Intent(Main.this, AlramService.class);
startService(intent);
 
Log.e("Service Start", "startService(intent);");
}
 
반응형
댓글
반응형
최근에 올라온 글
Total
Today
Yesterday