0

Я пытаюсь создать будильник со списком времени, чтобы уйти, который я уже сохранил в Parse. С помощью кода, который я использую сейчас, ничего не происходит, когда время выполнено. Раньше я использовал услугу, предназначенную для другой деятельности, но wakelock не работает. Итак, я пытаюсь использовать Activity сейчас. Но сейчас ничего не происходит, когда время выполняется. Кто-нибудь может мне помочь? СпасибоWake Lock не работает

У меня есть Будильник активность с этим кодом:

@Override 
public void onCreate(Bundle savedInstateState) { 
    super.onCreate(savedInstateState); 

    //wake lock 
    PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); 
    mWakeLock = pm.newWakeLock(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, "My Wake Log"); 
    mWakeLock.acquire(); 

    this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN | 
        WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | 
        WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON, 
        WindowManager.LayoutParams.FLAG_FULLSCREEN | 
        WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | 
        WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); 
    setContentView(R.layout.activity_reminder_screen); 

} 

Деятельность гаснет после того, как кнопку Сохранить в добавить деятельность сигнала тревоги нажимается следующим образом:

//set time into calendar instance 
Calendar calendar= Calendar.getInstance(); 
calendar.set(Calendar.HOUR_OF_DAY,mAlarmDetails.timeHour); 
calendar.set(Calendar.MINUTE,mAlarmDetails.timeMinute); 

AlarmManager reminder = (AlarmManager)getSystemService(Context.ALARM_SERVICE); 

Intent intent = new Intent(this, Alarm.class); 
PendingIntent pendingIntent = PendingIntent.getActivity(this,0,intent,PendingIntent.FLAG_UPDATE_CURRENT); 

reminder.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),pendingIntent); 

Спасибо заранее

+0

установить разрешение на блокировку слежения в манифесте – Rasel

+0

Я уже сделал это –

ответ

0

Попробуйте этот код,

PendingIntent operation = PendingIntent.getActivity(getBaseContext(), 1, 
               intent, Intent.FLAG_ACTIVITY_NEW_TASK); 

/** Getting a reference to the System Service ALARM_SERVICE */ 
AlarmManager alarmManager = (AlarmManager) getBaseContext() 
          .getSystemService(ALARM_SERVICE); 
GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day, hour, minute); 

/** 
* Converting the date and time in to milliseconds elapsed since 
* epoch 
*/ 
long alarm_time = calendar.getTimeInMillis(); 
/** Setting an alarm, which invokes the operation at alart_time */ 
alarmManager.set(AlarmManager.RTC_WAKEUP, alarm_time, operation); 
+0

Что это за григорианский календарь? У меня нет информации года и месяца. Я делаю ежедневную тревогу. –

+0

Я сделал это, и я получил ошибку log cat «java.lang.IllegalArgumentException: должен указать допустимый уровень блокировки слежения». –

+1

Я думаю, эта ссылка поможет вам http://wptrafficanalyzer.in/blog/setting-up-alarm-using-alarmmanager-and-waking-up-screen-and-unlocking-keypad-on-alarm-goes-off- в-андроид / – userDroid