【问题标题】:android - working with broadcastReceiver on android ICS (version 4)android - 在android ICS(版本4)上使用broadcastReceiver
【发布时间】:2012-01-31 17:16:26
【问题描述】:

我在 android ICS(版本 4)和 broadcastReceiver 上遇到问题。请帮忙:

我正在尝试听取网络连接更改的简单意图。我已经尝试了下一个教程(仅在清单中定义了 broadcastReceiver - 网站的第一部分): http://www.xinotes.org/notes/note/1526/ 在 ICS 上,它不会捕获任何意图,而在任何其他版本上它都可以正常工作。

谁能告诉我怎么了?除了侦听 CONNECTIVITY_CHANGE 的之外,我是否需要添加一个新的意图过滤器? 谷歌是否阻止了在 ICS 上收听此类意图? ICS 是否还有其他新规则发生了变化?

我认为其他广播接收器也无法使用清单在 ICS 上工作。

【问题讨论】:

  • 嗯.. 你可能遗漏了一些东西。发布一些代码、清单,也许还有日志。
  • @Kumar Bibek:代码在链接上。请阅读。

标签: android networking android-intent broadcastreceiver android-4.0-ice-cream-sandwich


【解决方案1】:

该链接中显示的示例代码可能有效,但它需要一个活动。在 Android 3.1+ 上,应用程序安装在“停止”状态。在这种状态下,BroadcastReceiver 不会起作用,直到用户从应用程序手动启动活动。如果用户从设置中强制停止应用程序,应用程序将返回到此“停止”状态。

因此,向您的项目添加一个活动,启动一次,然后查看您的接收器是否工作。

【讨论】:

  • 您有任何参考资料可以从中读取此信息吗?还有,他们为什么这样做?它打破了许多应用程序的工作方式。是为了安全吗?是否有任何广播接收器仍然可以在没有安装的情况下收听?启动意图呢?
  • @androiddeveloper:“你有什么参考资料可以从中读取这些信息吗?” developer.android.com/sdk/android-3.1.html#launchcontrols“是否有任何广播接收器在没有安装的情况下仍然可以收听?启动意图呢?”没有和没有。
  • 哎呀,我的意思是“没有跑步”。它仍然正确吗?我听说过一些应用程序,一旦你的设备被盗,你可以选择使用市场安装它们,然后它会告诉你设备的位置,甚至可以让你删除它的数据。这是否意味着现在这样的应用程序将无法工作(除非小偷打开它们)?
  • @androiddeveloper: “这是否意味着现在这样的应用程序将无法工作(除非小偷打开它们)?” -- 正确。
  • 感谢您的所有回答。我想知道为什么 google 决定删除这些功能,即使用户特别想安装一个无需打开即可启动的应用程序。我真的很喜欢这样的想法,即即使安卓设备被盗(或只是找不到),你也总能找到它。有什么办法可以克服此类应用程序的障碍,还是注定要失败?
猜你喜欢
  • 1970-01-01
  • 2012-04-23
  • 2012-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-20
  • 1970-01-01
  • 2022-11-15
相关资源
最近更新 更多