앱개발을 하면서 notification을 이용해 service를 on/off할 수 있게 구현해야합니다. NotificationCompat.Builder를 이용해 setContentIntent를 사용해서 Intent값을 넘겨 서비스를 실행까진 구현 시켰습니다. setContentIntent를 사용해서 서비스를 실행시키면 어떤식으로 종료 시켜야 하는지 감이 잘안잡히네요 stopself와 stopService둘다 사용해 봣는데 정상적으로 종료되지 않는 것 같습니다.
참고로 말씀드리자면 Notification도 Service컴포넌트에서 기술 했습니다.
public void onCreate(){
super.onCreate();
Toast.makeText(getApplicationContext(), "알림창을 활성화 했습니다.", Toast.LENGTH_SHORT).show();
sw = false; //mService가 실행됬음으로 sw에 false값 입력
}
public int onStartCommand(Intent intent, int flags, int startId){
Intent it = new Intent(this, mService.class);
PendingIntent pit = PendingIntent.getService(getApplicationContext(), 0, it, 0);
NotificationCompat.Builder mbuilder = new NotificationCompat.Builder(getApplicationContext())
.setTicker("감지기") //notification이 실행되며 화면에 잠시 노출되는 내용
.setAutoCancel(false) //notification이 클릭시 사라지지 않게함
.setSmallIcon(R.drawable.ic_launcher) //notification이 실행되며 화면에 잠시 노출되는 아이콘
.setContentTitle("서비스 실행중~") //notification의 제목
.setContentText("작동중입니다."); //notification의 내용
NotificationManager notiM = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
notiM.notify(0, mbuilder.build());
return START_STICKY;
}