问题标签 [android-broadcastreceiver]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - BroadcastReceiver 中的依赖注入
将 Singleton 注入到 BroadcastReceiver 是一种好习惯吗?
更具体地说,假设我有如下单例:
还有一个广播接收器:
实际上它有效,但我不确定这种情况可能导致的性能和可能的内存泄漏。对注入可能导致的性能和可能的滞后有任何想法吗?
android - 广播接收器执行多次
我有一个问题,我BroadcastReceiver
的注册数次。
我的应用程序中有一个CountDownTimer
对象Application
。之所以在这个类中,是因为一旦启动,用户应该能够在倒计时的同时移动到其他活动。
一旦CountDownTimer
倒计时,我就会启动LocalBroadcast
某个Activity
注册接收的。
除了onReceive
被称为多次之外,一切正常。例如,如果用户CountDownTimer
在 Activity1 中启动,然后移动到 Activity2,然后返回到 Activity1,onReceive
则调用两次。
launchMode
Activity 的 设置为并SingleInstance
设置noHistory
为true
。这是我尝试只拥有一个注册 Activity 的实例,并希望拥有一个接收器。
这是我CountDownTimer
的Application
对象:
这就是我初始化、注册和注销接收器的方式:
这是我的意图LocalBroadcast
:
仅当在课堂上运行onCreate
时,我才调用以下内容:CountDownTimer
Application
.
我的问题是如何确保在任何时候都只有在 Receiver 上注册?
我希望用户能够在运行时多次启动 Activity,CountDownTimer
但只onReceive
运行一次。
android - 我应该在何时何地注销广播接收器?
我aAsyncTask
在代码中如下所示,它的任务是启用蓝牙适配器。在 onPreExecute 中,我注册了该操作ACTION_STATE_CHANGED
以获取有关蓝牙适配器电源状态的通知(打开、关闭、打开、关闭)。该接收器在onPreexecute
“以便当异步任务完成时取消注册接收器”和取消注册“以便如果按下后退按钮,任务将被取消并且接收器应该被取消注册”中未注册。
但是,当任务正在运行并且我按下后退按钮取消正在运行的任务时,尽管接收器未在onCancelled
.
为什么会发生这种情况以及如何解决?
代码:
异步任务:
日志猫
android - 从 WakefulService 启动 IntentService
我有一个广播接收器表单,我正在使用它启动一个意图服务(比如 s1)startWakefulSerivce(context,i)
.
从服务 s1 我开始使用另一个 IntentService(比如 s2)startService(i)
。在 s1 我正在释放唤醒锁
现在第二个 IntentService s2 将保持唤醒锁,即,如果设备休眠,它将在后台运行。如果不是,我怎样才能像第一个一样清醒地启动第二个 Intent Service s2?
android - 使用带有广播接收器的服务的 Android Sip 来电
海每个人实际上都在尝试创建一个应用程序,该应用程序支持基于 SIP 在互联网上进行音频呼叫,这里使用的是本地 sip,我遇到了来电问题,我已经完成了服务的注册部分,但是在接听电话时,我无法接听电话,请帮帮我
在这里,我附上了我的广播接收器文件广播接收器文件
在这里我附上了我的传入屏幕源代码incomingscreen
这是我的错误日志
请帮我解决
android - 从广播接收器接收广播意图时出错
我有一个广播接收器,在 onRecive 中我执行 Asynctask,当执行时,在 preExecute 中,我显示一个对话框作为忙碌指示器。在运行时,当 AsyncTask 执行时,我收到以下 logcat 错误,为了修复该错误,我尝试将 getApplicationContext() 作为对上下文的引用传递给 asyncTask 的构造函数,但我仍然收到相同的错误
请让我知道如何解决该错误
代码:
日志猫:
android - 我已经在广播接收器类中实现了此代码,以通知用户在充电时不参加通话....但它不起作用
我为来电接收器实现的上述代码..
android - 向不在前台的 Activity 发送广播
我有一个具有 CountdownTimer 的后台服务。随着 CountdownTimer 倒计时,我向 Activity 发送广播。当 CountdownTimer 倒计时时,Activity 会收到警报,我可以停止服务并取消注册接收器。
我已将正常的接收器注销方法从 onStop 和 onPause 移到我自己的方法中,一旦收到带有“timer_finished”的广播,我就会调用该方法。这样我就可以在不注销的情况下离开 Activity。
如果用户当前正在查看 Activity,则一切正常。如果用户离开 Activity,则 CoundownTimer 仍在运行,但 Activity 没有接收到广播。
我该如何做到这一点,以便 Activity 接收最终广播“timer_finished”?
.
android - Android 在后台运行进程
我正在制作一个使用 BroadcastReceiver 和 WakefulServiceIntent 的应用程序,每 10 分钟在我的应用程序中调用一个方法。问题是,有时它会调用它,有时它不会。我需要每 10 分钟调用一次此方法,即使应用程序正在后台运行或屏幕已关闭。我当前的代码如下。我不应该使用 AlarmManager 来启动计时器吗?我听说 AlarmManager 不准确,但不准确到它甚至不响的地方?
AlarmManager 启动代码:
广播接收器类:
}
WakefulIntentService 类:
}
android - 如何更新片段屏幕android中的活动方法?
我在片段活动中有方法,如果该方法触发,我需要更新片段列表视图。我正在处理数据库。我在哪里清除特定用户的数据库,我将更新片段。
问题是:如果用户在同一个屏幕上,如果片段活动方法触发,如何更新片段列表视图?它仅在我需要返回活动并再次需要进入同一屏幕时才有效。
这是代码:
FragmentExpertLiveChats:
如果电话在 FragmentExpertLiveChat 屏幕中没有执行任何操作,并且如果活动调用中的方法,如何更新该行?我需要使用广播接收器吗?如果是,在哪里以及如何?