如何实现报警接收器?

How to implement an alarm receiver?

我开始了解 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 中处理广播。

显式广播 - Intent 具有组件名称(即 class)的广播 - 需要清单中的 <receiver> 元素才能工作。