2012-07-07 5 views
-1

내 지식에 따르면 응용 프로그램을 시작한 후 20 초 후에 Logcat에 "Alarm"로그가 표시되지만 발생하지는 않습니다. 내가 뭘 놓치고 있니?Android AlarmManager가 작동하지 않습니다.

public class MainActivity extends Activity { 
    private PendingIntent pendingIntent; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     Intent intent = new Intent(MainActivity.this, MainActivity.class); 
     pendingIntent = PendingIntent.getService(MainActivity.this, 1, intent, 1); 

     AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); 
     manager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 20000, pendingIntent); 

     Log.d("alarm", "alarm"); 
    } 
} 

답변

1

을 used.Check되지

pendingIntent = PendingIntent.getService(MainActivity.this, 0, intent, 0); 

시도는 당신이 당신의 Intent으로

getActivity (Context context, int requestCode, Intent intent, int flags) 

이 활동 클래스를 지정하지 사용해야 보인다 서비스. 다음 마지막 매개 변수 (flags)는 PendingIntent 클래스의 상수 값을 가질 수 있습니다. 그리고 언급했듯이 두 번째 매개 변수는 현재 사용되지 않으므로 0이어야합니다. 샘플 사용에 대해서는 this 질문을 참조하십시오.

관련 문제