SIM卡广播ACTION_SIM_STATE_CHANGED的这个广播,因为是有序的,会导致如下问题:
1:开机后发现插入SIM卡后,会出现掉网现象,出现掉网的原因,查看LOG发现,是因为phone进程anr,导致进程被杀后,出现掉网现象,anr的原因是因为接受广播消息超时导致。
2:另外一个问题是,打开联系人,刷新出联系人的时间有点长,几秒后才能刷出来。
解决方法:
不用使用有序的粘性广播,直接使用无序广播。
/frameworks/opt/telephony/src/java/com/android/internal/telephony/SubscriptionInfoUpdater.java
/frameworks/opt/telephony/src/java/com/android/internal/telephony/uicc/IccCardProxy.java
//ActivityManagerNative.broadcastStickyIntent(intent, READ_PHONE_STATE,
// UserHandle.USER_ALL);
mContext.sendBroadcast(intent);