Android 将警报设置为每30秒一次是否正确???
我需要每30秒启动一次警报,我需要在不运行应用程序的情况下激活警报。但无论应用程序是否运行,AlarmReceiver都不会被调用。有什么建议吗? start方法位于MainActivity.java类中Android 将警报设置为每30秒一次是否正确???,android,Android,我需要每30秒启动一次警报,我需要在不运行应用程序的情况下激活警报。但无论应用程序是否运行,AlarmReceiver都不会被调用。有什么建议吗? start方法位于MainActivity.java类中 public void start() { Calendar calendar=Calendar.getInstance(); calendar.add(Calendar.SECOND, 30); Intent intent = new Intent(MainActi
public void start() {
Calendar calendar=Calendar.getInstance();
calendar.add(Calendar.SECOND, 30);
Intent intent = new Intent(MainActivity.this, AlarmReceiver.class);
PendingIntent pintent = PendingIntent.getService(MainActivity.this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarm = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
alarm.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pintent);
Log.d("alarm","alarm set for alarm receiver");
}
我的接收文件
public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// Toast.makeText(context,"Alarm Receiver ",Toast.LENGTH_SHORT).show();
Log.d("Alarm","Alarm receive");
}
}
清单文件:
<?xml version="1.0" encoding="utf-8"?>
在这里,我可以设置报警,但我没有收到报警。在本页中,有一个您需要的完整示例: 显然,你必须改变路线:
PendingIntent pintent = PendingIntent.getService(MainActivity.this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
到
将启动方法更改为:
public void start() {
Intent alarmIntent = new Intent(this, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, alarmIntent, 0);
AlarmManager manager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
int interval = 30 * 1000; // 30 seconds of interval.
manager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), interval, pendingIntent);
Toast.makeText(this, "Alarm Set", Toast.LENGTH_SHORT).show();
}
让我知道是否有效。在本页中,有一个您需要的已完成示例: 显然,你必须改变路线:
PendingIntent pintent = PendingIntent.getService(MainActivity.this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
到
将启动方法更改为:
public void start() {
Intent alarmIntent = new Intent(this, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, alarmIntent, 0);
AlarmManager manager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
int interval = 30 * 1000; // 30 seconds of interval.
manager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), interval, pendingIntent);
Toast.makeText(this, "Alarm Set", Toast.LENGTH_SHORT).show();
}
让我知道是否有效。我最近遇到了这个问题。问题在于我的自定义可包裹对象,使用原语效果很好。这个答案帮助了我:我最近遇到了这个问题。问题在于我的自定义可包裹对象,使用原语效果很好。这个答案帮助了我:获取这些警告消息无法启动服务意图{flg=0x4 cmp=com.example.bipin.getlocationdetails/.AlarmReceiver(有额外功能)}U=0:not found'获取这些警告消息无法启动服务意图{flg=0x4 cmp=com.example.bipin.getlocationdetails/.AlarmReceiver(有额外功能)}U=0:not found'