2014-02-27 3 views
0

처음으로 간격을 추천 서로 다른 시간 간격으로 단일 알람 매니저 트리거가해야 할 서로 다른 시간 간격으로 1 분 트리거 및 초 간격으로 2 분알람 매니저가

과 같이해야한다

나는 다음 코드 있지만, 그것으로 시도하고 있었다 내가

{ 
    AlarmManager am=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE); 

    Intent intent = new Intent(context, AlarmManagerBroadcastReceiver.class); 
    intent.putExtra(ONE_TIME, Boolean.FALSE); 
    PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, 0); 
    am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 1000 * 60 *x, pi); 
} 

//Initialized x=1; 
//In onReceive what i did was... 
public void onReceive(Context context, Intent intent) { 
    if(x===1) 
     x=2; 
    else 
     x=1; 
} 

이 잘못인가 :(예상 한대로 작동하지 않는?

+0

저는 이것이 간단한 방법으로 이루어질 수 있다고 생각하지 않습니다. –

+0

당신은 무엇을하려고합니까? 알람 관리자는 항상 단일입니다. 보류중인 의도에 따라 새로운 알람을 추가하기 만하면됩니다. – nikis

+0

나는 wifi 자동 토글을 만들려고 노력하고 있었다. 1 분 동안 ON이되어야하고 다음 2 분은 OFF되어야한다 !! 그래서 x 값을받지 못한다고 말하는가? @nikis – someone

답변

0

을 구글 개발자 문서

A로부터 BroadcastReceiver 객체는 toonReceive (Context, Intent) 호출 기간 동안 만 유효합니다. 이 함수에서 코드가 반환되면 시스템은 객체가 완료되고 더 이상 활성화되지 않은 것으로 간주합니다.

그래서 x는 항상 1입니다. x 변수를 정적으로 만듭니다.

+0

정보 친구에게 감사합니다 정적으로 시도했지만 wrk 않습니다 : (@arul – someone

+0

브로드 캐스트 수신기 클래스와는 다른 클래스에서 x를 초기화 해보십시오. – arul

관련 문제