2012-06-13 56 views
4

现在这个项目非常令人沮丧。我一直坚持着。我希望做一个简单的任务如下如何检测android手机中的SIM卡更改?

  1. 当有人改变SIM卡,检测到这一事件,并检查是否这种新的SIM卡与以往不同的SIM卡,并采取相应的行动。
  2. 我不想通过定时器或任何其他方式定期检查SIM_STATE。
  3. 请问android会通知SIM卡的状态改变吗?如果是,请让我知道我可以检测SIM卡的变化?

我问这个问题之前也,但没有坚实的回答我。这似乎是一个非常重要的API,没有人关心它。请给我提供了一些代码片段,如果你有请......

我坚持在这里和Android电话服务文档中我不能够理解什么...这将非常有帮助,如果任何人都可以提供一些代码为上述。

+2

SIM不能在没有断电可以改变他们?您可能只需要检查应用程序启动。看到这个问题如何确定SIM ID –

+6

这个问题有很多愚蠢的。这其中有一个答案:http://stackoverflow.com/questions/8629766/android-sim-change也有这个http://stackoverflow.com/questions/5389512/event-when-sim-is-changed这http://stackoverflow.com/questions/5548751/phone-sim-change-notification检查这些帖子,如果他们不工作,回来的结果。 – gideon

+1

如果您没有使用getLine1Number获取电话号码,则使用sim序列号比较上一次启动完成时的序列号。 –

回答

1

是的,只有当应用程序重新启动时,在启动时接收器,所以我们必须在我们的应用程序中注册启动时间接收器。当用户改变它时,我们可以分析它。

1

当你启动应用程序保存SIM(Subscriber ID)

然后重新启动每次取SIM(用户ID),并与前一个其中保存比较。

以及查找SubscriberID数 -

IMSI = m_telephonyManager.getSubscriberId();

+0

你有没有在漫游中尝试过?似乎在漫游模式下的另一个国家/地区可能会多次更改此ID,或者也可能在使用Google Fi时更改此ID – David

相关问题