2012-06-16 3 views
1

서비스가 활성화되었을 때 "액티브"심볼을 보여주는 내 액티비티에 ImageView가 있습니다. 서비스가 실행 된 후 ImageView는 "비활성"기호로 돌아갑니다.AlarmManager가 깨어날 때 ImageView 리소스 변경

context = this; 
    Intent intent = new Intent(context, AlarmReceiver.class); 
      sender = PendingIntent.getBroadcast(context, INTENT_CODE, intent, 
        PendingIntent.FLAG_UPDATE_CURRENT); 
      am = (AlarmManager) getSystemService(ALARM_SERVICE); 
      am.set(AlarmManager.RTC_WAKEUP, calNew.getTimeInMillis(), sender); 
setImage(active); 

알람 관리기 : 서비스를 시작

AlarManager 서비스가 실행 된 후

@Override 
    public void onReceive(Context context, Intent intent) { 

     Intent wakeupIntent = new Intent(context, WakeupActivity.class); 
     context.startService(wakeupIntent); 

    } 

어떻게 다시 비활성에 대한 이미지 변화를 만들 수 있습니까? 나는 새로운 Runnable을 생성하고 핸들러를 사용하여 postDelayed (runnable, calNew.getTimeInMillis())를 시도했다. 실제로 작동하지 않았고 아무 일도 없었습니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?

+0

"서비스가 활성화 될 때"활성 "기호를 보여주는 ImageView가 있습니다."- 어디서? 어떤 활동 에서요? 앱 위젯에서? – CommonsWare

+0

안녕하세요, 죄송합니다. 활동 중입니다. – Wolfen

답변

1

서비스가 실행 된 후 어떻게 이미지 변경을 비활성으로 되돌릴 수 있습니까?

1 단계 : Android Support 패키지를 애플리케이션에 추가하십시오.

단계 # 2 : 당신의 활동이 onResume()LocalBroadcastManagerBroadcastReceiver을 등록하고 onPause()에 등록을 취소하게한다.

3 단계 : 작업이 완료되면 LocalBroadcastManager을 통해 방송을 보내고 해당 활동의 BroadcastReceiver으로 선택합니다.

Here is a sample project이 기술을 시연합니다.

+0

나를 위해 일한, 감사합니다 :) – Wolfen

관련 문제