2012-07-07 6 views
-1

По моим сведениям, я должен увидеть журнал «Тревога» в Logcat через 20 секунд после запуска приложения, но этого не происходит. Что мне не хватает?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

Кажется, что вы должны использовать

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

В вашем Intent указывает класс активности, не оказание услуг. Затем последний параметр (флаги) может иметь значения из констант в классе PendingIntent. И, как уже упоминалось, второй параметр должен быть 0, поскольку он не используется в настоящее время. Пожалуйста, обратитесь к вопросу this для использования образца.

0

Попробуйте

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

Третий параметр в настоящее время не used.Check PendingIntent

Смежные вопросы