广播接收器中的 Android AlarmManager

发布于 2024-10-31 06:59:32 字数 257 浏览 7 评论 0原文

我有广播接收器,该广播接收器应安排闹钟。

通常我会这样做

AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE); 
am.set(AlarmManager.RTC, time,  myPendingIntent); 

问题是 getSystemService 仅在活动中的广播接收器中不可用。我在这里该怎么做呢?

谢谢,A.

I have braodcastreceiver, that broadcast receiver shall schedule an alarm.

Usually I would do

AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE); 
am.set(AlarmManager.RTC, time,  myPendingIntent); 

The problem is that getSystemService is not available in a Broadcast receiver only in an Activty. How would I do it here?

Thanks, A.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

云胡 2024-11-07 06:59:32

AndyAndroid,

getSystemService()Context 的一部分。您需要保存在 onReceive() 方法中收到的 Context,如下所示...

private Context mContext;

@Override
public void onReceive(Context c, Intent i) {
    mContext = c;
}

然后...在您调用 getSystemService() 的地方你用...

AlarmManager am = (AlarmManager) mContext.getSystemService(mContext.ALARM_SERVICE); 

AndyAndroid,

getSystemService() is part of the Context. You will need to save the Context you receive in your onReceive() method like so...

private Context mContext;

@Override
public void onReceive(Context c, Intent i) {
    mContext = c;
}

Then..where you call getSystemService() you use...

AlarmManager am = (AlarmManager) mContext.getSystemService(mContext.ALARM_SERVICE); 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文