安&关闭 Android 广播接收器

发布于 2024-12-27 08:39:54 字数 202 浏览 0 评论 0原文

我正在创建一个应用程序,当我接到电话时我会执行一项任务(使用 BROADCASTRECEIVER 检测 RINGING 状态)。我的问题是,我可以从具有 2 个按钮的活动中注册和取消注册(字面意义上的;打开和关闭)他的广播接收器吗?说一个代表“开”,另一个代表“关”?

是否需要在活动内声明 BROADCASTRECEIVER?如果这样做,我可以通过活动注册和取消注册它吗?

Im creating an app in which i do a task when i receive a call (detect RINGING state with a BROADCASTRECEIVER ).My question is that,can I register and unregister (literally;ON and OFF) his broadcastreceiver from an activity having 2 buttons;say one for ON and another for OFF?

Does it require the BROADCASTRECEIVER to be declared inside the activity?If I do so,can i register and unregister it,via the activity?

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

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

发布评论

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

评论(2

北恋 2025-01-03 08:39:55

//用于启用广播接收器
packageManager.setComponentEnabledSetting(组件名称,
PackageManager.COMPONENT_ENABLED_STATE_ENABLED、PackageManager.DONT_KILL_APP);

//use to disable the broadcast receiver
packageManager.setComponentEnabledSetting(componentName, 
                    PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);

请尝试这个subru

//use to enable the broadcast receiver
packageManager.setComponentEnabledSetting(componentName,
PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);

//use to disable the broadcast receiver
packageManager.setComponentEnabledSetting(componentName, 
                    PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);

please try this subru

彡翼 2025-01-03 08:39:54

这就是我这样做的方式:

  • 我定义一个单独的 BroadcastReceiver 并在 android 清单中定义它,而不是在您的活动中使用它。这样做允许我的广播接收器独立于活动工作
  • 编写一个带有两个按钮(开/关)的活动并将其操作保存为共享首选项中的标志
  • 更新广播接收器的 onReceive 方法并检查首选项中的标志是否设置为 true 然后处理意图,否则忽略它

this is the way i would do it:

  • I define a separate BroadcastReceiver and define it in android manifest rather than using it in your activity. Doing this allows my broadcast receiver to work independent of activity
  • Write an activity with two buttons (On/Off) and save its action as a flag in shared preferences
  • update the broadcastreceiver's onReceive method and check if a flag in preference is set to true then handle the intent, otherwise ignore it
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文