嗨,我目前正在使用警报管理器。我写了下面给出的代码。根据代码,警报管理器应该在10秒后触发,但在我的代码中,警报管理器会立即触发。请帮助。
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
int alarmType = AlarmManager.ELAPSED_REALTIME_WAKEUP;
long timeOrLengthofWait = 10000;
Intent intentToFire = new Intent(this, AlarmReciever.class);
PendingIntent alarmIntent = PendingIntent.getBroadcast(this, 0, intentToFire, 0);
alarmManager.set(alarmType, timeOrLengthofWait, alarmIntent);
}
}
还有我的警报接收课
public class AlarmReciever extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String phoneNumberReciever="5556";
String message="Alarm Triggered";
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumberReciever, null, message, null, null);
Toast.makeText(context," A message has been sent", Toast.LENGTH_LONG).show();
Log.d("Alarm ", "Alarm Has been triggered and sms send");
}
}
我已经在清单中添加了所需的权限。
如果您正在为过去的时间创建一个悬而未决的警报,它将立即被触发。示例-将警报安排在今天上午8点,但在上午11点左右执行代码将立即触发。
解决方案:
cal.add(Calendar.DATE, 1);
long delay = 24 * 60 * 60 * 1000;
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), delay,pendingIntent);`
这将在第二天的指定时间(即上午8点)触发事件;
您使用的报警类型为“已用\u实时\u唤醒”。这意味着set()的第二个参数必须是从现在开始的毫秒数,其中现在表示为系统时钟。elapsedRealtime()。
如果您的目标是在进行set()
调用后10000毫秒发生这种情况,则该调用应为:
alarmManager.set(alarmType, SystemClock.elapsedRealtime()+timeOrLengthofWait, alarmIntent);
我每天上午11点使用显示通知。 当我在应用程序中设置警报时,警报会在短时间后触发。
问题内容: 我正在Firefox上编写有关警报的Selenium测试。运行测试时,警报会出现一秒钟的时间,但是手动完成后,警报仍然存在。谁能说出为什么这样吗? 我尝试在Firefox上设置此配置文件,但这无济于事: 谁能告诉我如何使警报停留在页面上? 在代码中,我正在检查警报的存在,因为警报消失得太快了,它似乎永远不会被击中: 问题答案: 共有3种状态: -接受警报 -关闭/取消警报 -既不接受也
问题内容: 我正在Firefox上编写有关警报的Selenium测试。运行测试时,警报会出现一秒钟的时间,但是手动完成后,警报仍然存在。谁能说出为什么这样吗? 我尝试在Firefox上设置此配置文件,但这无济于事: 谁能告诉我如何使警报停留在页面上? 在代码中,我正在检查警报的存在,因为由于警报消失得太快,它显然从未受到攻击: 问题答案: 共有3种状态: -接受警报 -关闭/取消警报 -既不接受也
我正在火狐上写一个处理警报的硒测试。当测试运行时,警报会出现几分之一秒,但是当手动执行时,警报会持续存在。有人能说出为什么会这样吗? 我尝试在Firefox上设置此配置文件,但也没有帮助: 有人能告诉我如何让警报留在页面上吗? 在代码中,我检查警报是否存在,如下所示,由于警报消失得太快,因此显然从未被击中: