2016-08-13 4 views
0

다음과 같은 일회성 알람을 트리거하고 싶습니다. 기본적으로 https://developer.android.com/training/scheduling/alarms.html (두 번째 ELAPSED_REALTIME_WAKEUP 예)의 복제본입니다. 나는 조각에있는 버튼을 누르면 AlarmManager 한 번만 알람이 울리지 않습니다.

public MuteReceiver() { 
    Log.d("MuteReceiver", "constructed"); 
} 

@Override 
public void onReceive(Context context, Intent intent) { 
    final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); 
    boolean started = prefs.getBoolean(MuteService.STARTED, false); 
    Log.d("MuteReceiver", "Started=" + started); 
} 

, 톱이 같다

@Override 
    public void onClick(View v) { 
     Intent intent; 
     intent = new Intent(this.getActivity(), MuteReceiver.class); 
     AlarmManager alm = (AlarmManager)(this.getActivity().getSystemService(Context.ALARM_SERVICE)); 
     PendingIntent alarmIntent = PendingIntent.getBroadcast(getActivity(), 0, intent, 0); 
     alm.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, 
      SystemClock.elapsedRealtime() + 60*1000, 
      alarmIntent); 
     Log.d("MainActivity", "alarm set"); 
    } 

공용 클래스 MuteReceiver가 브로드 캐스트 리시버를 확장 :

이 공공 정적 클래스 PlaceholderFragment 내부는 조각이 View.OnClickListener 구현 확장 로그 메시지 "알람 설정",하지만 1 분 후 (그리고 훨씬 나중에) MuteReceiver가 생성되거나 MuteReceiver가 시작된 로그가 표시되지 않음 (onReceive에서)

+0

매니페스트에 MuteReceiver를 등록하셨습니까? – Shaishav

답변

0

등록 된 방송으로리스트 파일을 가지고 있습니다

+0

AndroidManifest.xml에서 항목을 의미한다고 생각합니다. 나는 그것을 추가했고 효과가 있었다. 나는 당신의 대답을 받아 들일 것이지만 새로운 문제가 있습니다, 아마도 나는 다른 질문을 게시하기 전에 고치려고 노력할 것입니다. – cpliu338

관련 문제