【发布时间】:2015-10-05 04:11:53
【问题描述】:
在我的 android 应用程序中,我尝试每 5 秒在日志中打印一条消息。我正在使用带有 AlarmManager 和 BroadcastReceiver 的简单配置,这似乎适用于除我之外的所有人。这是广播接收器的代码:
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class ServiceAlarmReceiver extends BroadcastReceiver {
private final String TAG = "com.example.ahsandroidapplication";
@Override
public void onReceive(Context context, Intent intent) {
Log.i(TAG, "Broadcast received");
}
public void setAlarm(Context context){
System.out.println("Service started");
long alertTime = System.currentTimeMillis() + 5000;
Intent alertIntent = new Intent(context, ServiceAlarmReceiver.class);
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, alertTime, alertTime, PendingIntent.getBroadcast(context, 1, alertIntent,
PendingIntent.FLAG_UPDATE_CURRENT));
}
}
问题是广播接收器没有检测到任何广播。谁能告诉我我做错了什么?任何帮助表示赞赏。
编辑:
看了一圈后,我得出结论,我需要在清单中声明接收者。如果这是问题所在,我该怎么做?
【问题讨论】:
标签: java android service broadcastreceiver alarmmanager