Какой метод используется, чтобы узнать, когда наступит время тревоги для отправки значений на доску? - PullRequest
0 голосов
/ 25 октября 2019

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

Я могу сделать будильник. Я пробовал условия, но он не может проверить время будильника.

источник:

buttonSetAlarm.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View arg0) {
                Calendar current = Calendar.getInstance();

                Calendar cal = Calendar.getInstance();
                cal.set(pickerDate.getYear(),
                        pickerDate.getMonth(),
                        pickerDate.getDayOfMonth(),
                        pickerTime.getCurrentHour(),
                        pickerTime.getCurrentMinute(),00);
                Calendar setCal = Calendar.getInstance();
                int hourCur = setCal.get(Calendar.HOUR_OF_DAY);
                int minCur = setCal.get(Calendar.MINUTE);
                int hourSet = cal.get(Calendar.HOUR_OF_DAY);
                int minSet = cal.get(Calendar.MINUTE);
                if(cal.compareTo(current) <= 0){
                    //The set Date/Time already passed
                    Toast.makeText(getApplicationContext(),
                            "Invalid Date/Time",
                            Toast.LENGTH_LONG).show();
                }else{
                    if(buttonCon){
                        setAlarm(cal);
                       // Toast.makeText(MainActivity.this, "Alarm is"+cal.getTime(), Toast.LENGTH_SHORT).show();
                        //connectedThread.setSendData("led1");
                       /* if(hourCur == hourSet && minCur == minSet)
                        {

                            //connectedThread.setSendData("led1");
                        }*/
                        Toast.makeText(MainActivity.this, "hrs = "+hourSet+" mins = "+minSet+" hrCur="+hourCur+" mincr:"+minCur, Toast.LENGTH_SHORT).show();
                    }else{
                        Toast.makeText(MainActivity.this, "Bluetooth is disconnected", Toast.LENGTH_SHORT).show();
                    }

                    //connectedThread.setSendData("led1");
                    /*else{
                       Toast.makeText(MainActivity.this, "Bluetooth is disconnected", Toast.LENGTH_SHORT).show();
                    }*/

                }

Это методы для установки будильника:

 private void setAlarm(Calendar targetCal){
        info.setText("\n\n***\n" + "Alarm is set@ " + targetCal.getTime() + "\n" + "***\n");
        Intent intent = new Intent(this.context, AlarmReceiver.class);
        intent.putExtra("extra","alarm on");
        PendingIntent pendingIntent = PendingIntent.getBroadcast(MainActivity.this, RQS_1, intent, PendingIntent.FLAG_UPDATE_CURRENT);
        AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
        alarmManager.set(AlarmManager.RTC_WAKEUP, targetCal.getTimeInMillis(), pendingIntent);
        // setCal.getTimeInMillis();
       /* Calendar setCal = Calendar.getInstance();
        int hourCur = setCal.get(Calendar.HOUR_OF_DAY);
        int minCur = setCal.get(Calendar.MINUTE);

        int hourSet = targetCal.get(Calendar.HOUR_OF_DAY);
        int minSet = targetCal.get(Calendar.MINUTE);

        if(hourCur == hourSet && minCur == minSet)//Conditions. Check that when it's time to wake up and send data THIS MY PROBLEM 
        {
            connectedThread.setSendData("led1");
        }*/
        //Toast.makeText(MainActivity.this,"alarmManager = "+alarmManager,Toast.LENGTH_LONG).show();
    }

Я ожидаю, что к моменту тревоги я смогу отправлять значения на доску.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...