Java 悬挂式和警报管理器
我尝试在20秒后广播,并使用扩展接收器接收广播Java 悬挂式和警报管理器,java,android,android-intent,android-alarms,Java,Android,Android Intent,Android Alarms,我尝试在20秒后广播,并使用扩展接收器接收广播ExtendedReceiver 这是我的函数,它创建一个警报,并将pendingent设置为在20秒后熄灭: public void alert() { GregorianCalendar cal = new GregorianCalendar(); cal.add(Calendar.SECOND, 20); Intent i = new Intent(this, ExtendedReceiver.class);
ExtendedReceiver
这是我的函数,它创建一个警报,并将pendingent
设置为在20秒后熄灭:
public void alert() {
GregorianCalendar cal = new GregorianCalendar();
cal.add(Calendar.SECOND, 20);
Intent i = new Intent(this, ExtendedReceiver.class);
int _uid = (int) System.currentTimeMillis();
PendingIntent pi = PendingIntent.getBroadcast(this, _uid, i, PendingIntent.FLAG_ONE_SHOT);
AlarmManager am = (AlarmManager)getSystemService(Activity.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pi);
Log.i("Title", "Alarm has been set");
}
以下是ExtendedReceiver类:
public class ExtendedReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.i("Title", "Broadcast received");
}
}
我收到第一条日志消息:
报警已设置
,但我没有收到第二条日志消息。我不确定问题出在哪里(Android上的第一天)如果可以的话,这是我一直在做的事情
换衣服
PendingIntent pi = PendingIntent.getBroadcast(this, _uid, i, PendingIntent.FLAG_ONE_SHOT);
到
重要提示:按如下方式注册您的ExtendedReceiver
:
...
registerReceiver(new ExtendedReceiver() , new IntentFilter(EXTENDED_RECEIVER_ACTION));
PS:EXTENDED_RECEIVER_操作是一个字符串,不要忘记注销你的接收器
进一步文件
希望有帮助:)您是否在Manifest.xml文件中注册了ExtendedReceiver?
...
registerReceiver(new ExtendedReceiver() , new IntentFilter(EXTENDED_RECEIVER_ACTION));