我希望能在SIM卡状态发生改变时执行一些操作,例如当需要输入SIM卡PIN码时播放声音,但我认为没有广播事件可以被广播接收器拦截到...注册 android.intent.action.PHONE_STATE 只会告诉你通话状态何时改变..另一种方法是启动一个服务,该服务注册 PhoneStateListener并根据 LISTEN_SERVICE_STATE(当状态为OUT-OF-STATE时可以从 TelephonyManager 中获取SIM卡状态并查看状态是否为 SIM_STATE_PIN_REQUIRED)做出反应。所以,我的问题是:
1)有没有广播意图可以用来拦截SIM卡状态或服务状态的更改?
2)在服务中安装 PhoneStateListener 并使用它将意图传递给服务本身,以响应由 PhoneStateListener 接收到的电话状态更改通知,这是不是一个不好的主意?