2017-02-14 22 views
0

Мое приложение AlarmManager. Я пытаюсь следующий код для создания сигнала тревогиAlarmManager не работает, если экран выключен

public void startAlarm(int timeInterval){ 
    if (timeInterval == -1) 
     return; 
    int id = generateIdAlarmManager(); 
    AlarmManager manager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE); 
    PendingIntent pendingIntent = getPendingIntent(id, timeInterval * 60000); 
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) 
    { 
     final AlarmManager.AlarmClockInfo alarmClockInfo = new AlarmManager.AlarmClockInfo(System.currentTimeMillis() + timeInterval * 60000, pendingIntent); 

     manager.setAlarmClock(alarmClockInfo, pendingIntent); 
    } 
    else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) 
     manager.setExact(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + timeInterval * 60000, pendingIntent); 
    else 
     manager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + timeInterval * 60000, pendingIntent); 

    SharedPreferences.Editor edit = preferences.edit(); 
    edit.putInt(ALARM_MANAGER_ID_ALARM_CHECK_SMS, id); 
    edit.putInt(ALARM_MANAGER_INTERVAL_CHECK_SMS, timeInterval); 
    edit.putBoolean(ALARM_MANAGER_ENABLE_CHECK_SMS, true); 
    edit.apply(); 
    edit.commit(); 
} 

AlarmManager работает, если экран на. Если экран AlarmManager не работает. Я добавляю

<uses-permission android:name="android.permission.WAKE_LOCK"/> 

Помощь!

ответ

0

На ваш вопрос отвечает here с помощью WakeLock объект.

Более подробная информации о WaveLock в Android Developers:

Замок бодрствования является механизмом, чтобы указать, что приложение должно иметь устройства остаться.

0

вызова

manager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(),timeIntervalForBroadcast, pendingIntent) 

вместо метода manager.set() из alaramManager.

+0

Это решение не работает. Я пробую такой код manager.setRepeating (AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), timeInterval * 60000, pendingIntent); – user1854307

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

  • Нет связанных вопросов^_^