우선 소스입니다.

 

Intent i = new Intent(Activity.this, Service.class);
sender = PendingIntent.getBroadcast(Activity.this, 0, i, 0);
  
long firstTime = SystemClock.elapsedRealtime();

AlarmManager am = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firstTime, 2 * 1000, sender);

 

Activity 에서 알람서비스를 BroadCastReceiver 를 통해 구현하였습니다.

Service 클래스는 BroadCastReceiver 를 상속받았구요.

 

궁금한점은 Activity 에서 Button 클릭시 BroadCastReceiver 의 수신을 중단하고 싶습니다.

 

그래서 Button 의 onClickListener() 안에 am.cancle(sender) 를 넣었더니, 클릭하였을적에만 발생을 하여야 하는데

 

액티비티 실행시 알람서비스가 아예 cancle 이 되어버리네요 ㅜㅜㅜㅜ

 

매니페스트에는 <receiver android:name="Service" android:process=":remote" /> 로 선언을 하였구요.

 

답변부탁드립니다.