Android 安卓:我的alarm manager广播接收器不是';行不通
我想让我的闹钟管理器设置一段时间来改变手机背景,但广播接收器什么也没做。你能告诉我为什么吗 调度警报:Android 安卓:我的alarm manager广播接收器不是';行不通,android,broadcastreceiver,alarmmanager,android-pendingintent,Android,Broadcastreceiver,Alarmmanager,Android Pendingintent,我想让我的闹钟管理器设置一段时间来改变手机背景,但广播接收器什么也没做。你能告诉我为什么吗 调度警报: public void scheduleAlarm(Context context){ Intent intent = new Intent(context, AlarmReceiver.class); pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE
public void scheduleAlarm(Context context){
Intent intent = new Intent(context, AlarmReceiver.class);
pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, 18);
calendar.set(Calendar.MINUTE, 34);
am = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
am.setInexactRepeating(AlarmManager.RTC, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent );
Toast.makeText(context, "Alarm set", Toast.LENGTH_LONG).show();
}
广播接收机:
@Override
public void onReceive(Context context, Intent intent){
PendingIntent sentPI = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
GrilledCheeseLookup.getGrilledCheeseJSON(grilledCheeseUrls, context);
Toast.makeText(context, "Alarm worked", Toast.LENGTH_LONG).show();
}
在清单中启用:
<receiver android:name=".AlarmReceiver" android:enabled="true" />
尝试创建您的意图,同时使用Intent/4构造函数指定packageContext(您可以将uri设置为null) 您是否在清单的正确位置有
元素;i、 例如,在
标记之间,但不在任何其他标记内,如
?您确定name
属性指向正确包中的正确类吗?假设您正在使用Toast
来确定接收器是否正在运行,您确定onReceive()
中的某些内容在显示之前没有失败吗?是的,它在应用程序标记内,但在任何其他标记(如)之外。我没有任何包装中的AlarmReceiver,所以也可以。我确信它不会在显示之前失败。www.github.com/Akash14204。。学生预算追踪计划。我已经用过了。你可以从那里获取代码。你是否等了一段时间才给它一个第一次开火的机会?你是不是在警报响起之前强制停止了应用程序?是的,我在后台等了一会儿。应用程序必须处于活动状态才能工作吗?我听到我的祝酒词说闹钟已经调好了。