【问题标题】:How to detect the SIM card change in android phone?如何检测Android手机中的SIM卡变化?
【发布时间】:2012-06-13 06:24:56
【问题描述】:

现在项目中的情况非常令人沮丧。我一度陷入困境。我想做一个简单的任务如下

  1. 当有人更换 SIM 卡时,检测此事件并检查此新 SIM 卡是否与之前的 SIM 卡不同,并采取相应措施。
  2. 我不想通过计时器或任何东西定期检查 SIM_STATE..
  3. android会通知SIM的状态变化吗?如果是,请告诉我我可以检测到 SIM 卡更改?

我以前也问过这个问题,但没有得到可靠的答案。它似乎是一个非常重要的 API,没有人关心它。如果你有请给我一些代码sn-p...

我被困在这里,在 android 电话服务文档中我无法理解任何内容...如果有人可以为上述内容提供一些代码,这将非常有帮助。

【问题讨论】:

标签: android android-intent state telephony


【解决方案1】:

当您启动应用程序时保存您的SIM(Subscriber ID)

然后每次重新启动获取 SIM(Subscriber ID) 并与您保存的上一个比较。

对于查找 SubscriberID 号 --

IMSI = m_telephonyManager.getSubscriberId();

【讨论】:

  • 您在漫游中尝试过吗?似乎在另一个国家/地区处于漫游模式可能会多次更改此 ID,或者在使用 Google Fi 时也可以更改
  • 除非你有系统权限,否则Q中不再可用
  • @FungLAM 是的.. 对于 Q,您需要定义权限然后才能使用它。答案是很久以前写的。
  • 是的。因此,只需添加评论,开发人员就会意识到这一变化。
  • @David 你有相关的链接吗?
【解决方案2】:

是的,您只能在应用程序重新启动时,在启动时间接收器时这样做,所以我们必须在我们的应用程序中注册启动时间接收器。当用户更改它时,我们可以对其进行分析。

【讨论】:

  • 嘿,你能提供一些关于如何实现你提到的目标的信息吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-10
相关资源
最近更新 更多