android–BroadcastReceivers在收听BOOT_COMPLETED时会收到哪些上下文?

android–BroadcastReceivers在收听BOOT_COMPLETED时会收到哪些上下文?,第1张

概述当手机断电时,Android中的AlarmManagers会丢失所有已注册的闹钟.我在android启动时使用以下广播接收器来触发:publicclassAlarmBootReceiverextendsBroadcastReceiver{@OverridepublicvoidonReceive(Contextcontext,Intentintent){if(intent.getA

当手机断电时,Android中的AlarmManagers会丢失所有已注册的闹钟.

我在androID启动时使用以下广播接收器来触发:

public class AlarmBootReceiver extends broadcastReceiver {    @OverrIDe    public voID onReceive(Context context, Intent intent) {        if (intent.getAction().equals("androID.intent.action.BOOT_COMPLETED")) {            Cursor alarmCursor = MainActivity.dbHelper.loadAlarms();            // Iterate through every stored alarm and set those alarms.            // ....            alarmCursor.close();        }    }}

>当在系统启动时触发广播接收器的onReceive时,该方法会给出什么上下文参数?我必须知道上下文,因为我需要上下文来取消在该上下文中设置的警报.
>我假设调用MainActivity.dbHelper.loadAlarms()不安全,因为MainActivity未在系统启动时初始化.或者它是否安全,因为dbhelper和loadAlarms()都被初始化并声明为静态?

解决方法:

When the broadcast receiver’s onReceive is triggered at system bootup, what context parameter is given to the method? I have to kNow
the context, because I need the context to cancel alarms set in that
context.

在这种情况下,您将在onReceive()中获取全局应用程序Context.但是,这是无关紧要的.你不需要知道.

要在以后取消警报,您将创建一个PendingIntent,您可以使用您想要执行此 *** 作的任何上下文.警报未链接到特定上下文,它们仅链接到特定应用程序.

I am assuming the call to MainActivity.dbHelper.loadAlarms() is not
safe because MainActivity is not initialized in system bootup. Or is
it safe because dbhelper and loadAlarms() are all initialized and
declared static?

如果dbHelper确实是静态的并且在创建实例时初始化(而不是在onCreate()中),则此调用很好.通常,在活动上调用静态方法是不受欢迎的,因为假设已正确设置Activity,很容易做一些愚蠢的事情.最好将这些静态方法移动到一般的实用程序类,它不是一个Activity,只包含静态方法.这看起来不那么可疑了.

总结

以上是内存溢出为你收集整理的android – BroadcastReceivers在收听BOOT_COMPLETED时会收到哪些上下文?全部内容,希望文章能够帮你解决android – BroadcastReceivers在收听BOOT_COMPLETED时会收到哪些上下文?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1117347.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存