我开始学习AlarmManager
,并且我想触发广播以从服务器获取一些信息。文档中清楚了意图和警报,但是我找不到关于接收端外观的任何信息。
这是我的警报代码:
AlarmManager aMgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(this, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
aMgr.setInexactRepeating(AlarmManager.ELAPSED_REALTIME,
SystemClock.elapsedRealtime() + 10000,
AlarmManager.INTERVAL_FIFTEEN_MINUTES, pendingIntent);
我的AlarmReceiver
像这样:
public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.d(MainActivity.TAG, "Received intent");
}
}
但是什么也没发生。我添加了一个按钮来触发广播,如下所示:
public void btnTrigger_onClick(View view) {
Intent i = new Intent(this, AlarmReceiver.class);
sendBroadcast(i);
}
而且这里什么也没发生。
我以前曾经使用过广播,但只在registerReceiver
中使用过广播,但是现在我不想在Activity
中使用广播。
答案 0 :(得分:0)
显式广播(其中Intent
具有组件名称(即类)的广播)需要在清单中使用<receiver>
元素才能起作用。