作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我开始了解 AlarmManager
,我想触发广播以从服务器获取一些信息。文档清楚地说明了 Intent 和警报,但我找不到任何关于接收端应该是什么样子的信息。
这是我的闹钟代码:
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
具有组件名称(即类)——需要 <receiver>
list 中的元素才能正常工作。
关于java - 如何实现报警接收器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54389918/
我是一名优秀的程序员,十分优秀!