android - AlarmManager 警报立即触发

标签 android alarmmanager

我正在测试要在我的应用程序中使用的 AlarmManager,当我希望它在 1 分钟后触发时,它会立即触发我的广播接收器。代码如下:

public class SetMealTimersActivity extends Activity {
    PendingIntent pi;
    BroadcastReceiver br;
    AlarmManager am;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_set_meal_timers);

        br = new BroadcastReceiver() {
            @Override
            public void onReceive(Context c, Intent i) {
                Toast.makeText(c, "Ready to Go!", Toast.LENGTH_LONG).show();
            }
        };
        registerReceiver(br, new IntentFilter("com.ian.mealtimer"));
        pi = PendingIntent.getBroadcast(this, 0, new Intent(
                "com.ian.mealtimer"), 0);
        am = (AlarmManager) (this.getSystemService(Context.ALARM_SERVICE));         
        am.set( AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 
                60 * 1000, pi );
    }

最佳答案

尝试:

  am.set(AlarmManager.RTC_WAKEUP, 
      Calendar.getInstance().getTimeInMillis()+60*1000, pendingIntent);

它对我有用。

关于android - AlarmManager 警报立即触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23994420/

相关文章:

java - 如何从 twilio 第三方 API 获取来电号码

java - 无法将 ArrayList 类转换为接口(interface)的 ArrayList

android - 根据 MA​​C 地址生成唯一代码

android - 通知生成器随机显示通知

android - AlarmManager RTC_WAKEUP 耗尽电池

android - 如何传递要在谷歌地图上显示的地点的经纬度?

android - AmazFit Bip watch - 心率

java - 如果我为前一天设置,为什么我的 alarmManager 会立即启动?

java - 检查 AlarmManager 任务是否正在进行

java - 如何获得完成 Activity 的剩余时间?