AlarmManeger setExact 不工作

AlarmManeger setExact is not working

setExact 方法不适用于我的项目

Log.d("Alarm","Fire");

AlarmManagerBroadcastReceiver 中的那个在 1 分钟后没有出现!

    public class MainActivity extends AppCompatActivity {
    .
    .
    @Override
        protected void onCreate(Bundle savedInstanceState) {
            .
            .

            Calendar alarm = Calendar.getInstance();
            alarm.setTimeInMillis(System.currentTimeMillis());
            alarm.add(Calendar.MINUTE,1);

            Intent myIntent = new Intent(MainActivity.this, AlarmManagerBroadcastReceiver.class);
            PendingIntent  pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, myIntent, 0);

            AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
            alarmManager.setExact(AlarmManager.RTC_WAKEUP, alarm.getTimeInMillis(), pendingIntent);
            .
            .
}
}

AlarmManagerBroadcastReceiver:

public class AlarmManagerBroadcastReceiver extends WakefulBroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {

        Log.d("Alarm","Fire");

       }
}

我尝试扩展 BroadcastReceiver 而不是 WakefulBroadcastReceiver。我还尝试设置 diffrenet 硬编码时间。但是,没有任何效果。

请帮忙

这个link(安排重复闹钟)可以帮助您。您必须添加

<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission> <receiver android:process=":remote" android:name=".AlarmManagerBroadcastReceiver"></receiver>