Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓:警报触发_Android_Alarm_Android Alarms - Fatal编程技术网

Android 安卓:警报触发

Android 安卓:警报触发,android,alarm,android-alarms,Android,Alarm,Android Alarms,我正在开发一个安卓应用程序,可以设置多个警报。警报可以设置一次,每天和每周。 我将报警小时、分钟和am/pm设置为 Calendar alarmCalendar = Calendar.getInstance(); alarmCalendar.set(Calendar.HOUR, 10); alarmCalendar.set(Calendar.MINUTE, 45); alarmCalendar.set(Calendar.SECOND, 0); a

我正在开发一个安卓应用程序,可以设置多个警报。警报可以设置一次,每天和每周。 我将报警小时、分钟和am/pm设置为

     Calendar alarmCalendar = Calendar.getInstance();
     alarmCalendar.set(Calendar.HOUR, 10);
     alarmCalendar.set(Calendar.MINUTE, 45);
     alarmCalendar.set(Calendar.SECOND, 0);
     alarmCalendar.set(Calendar.AM_PM, 0);

    Long alarmTime = alarmCalendar.getTimeInMillis();
如果时间已过,则以毫秒为单位进行比较

            if(alarmType.equalsIgnoreCase("daily"))
            {
                if (currenttime >= alarmTime)
                {
                    alarmTime+=86400000; // 1day in milliseconds
                }

                Intent intent = new Intent(Alarm.this, Reciever.class);
                intent.putExtra("keyValue", key);
                PendingIntent pi = PendingIntent.getBroadcast(Alarm.this, key, intent, PendingIntent.FLAG_UPDATE_CURRENT);
                am.setRepeating(AlarmManager.RTC_WAKEUP, alarmTime, AlarmManager.INTERVAL_DAY, pi); 
            }

            else if(alarmType.equalsIgnoreCase("weekly"))
            {
                if (currenttime >= alarmTime)
                {
                    alarmTime+=604800000;//1 week in milliseconds
                }

                Intent intent = new Intent(Alarm.this, Reciever.class);
                intent.putExtra("keyValue", key);
                PendingIntent pi = PendingIntent.getBroadcast(Alarm.this, key, intent, PendingIntent.FLAG_UPDATE_CURRENT);
                am.setRepeating(AlarmManager.RTC_WAKEUP, alarmTime, 604800000 , pi); 

            }
它在一些手机上工作正常,并且在alarmtime过去后,每天和每周分别正确设置为次日和下周。但是,问题是,在少数手机和平板电脑上,闹钟没有触发。 谁能说有什么问题,请帮忙!
谢谢

它根本没有被触发或者有延迟?由于它基于设备时间设置/时区,设备上的时间设置是否正常?设备上的时间设置正常。但对于每日/每周,它在某些手机和某些平板电脑的报警时间前一分钟触发报警,则根本不会触发报警。您能添加清单代码吗?您可以发送到代码的链接