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>
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>