我在收到java.lang.IllegalArgumentException
时收到regist too many Broadcast Receivers
消息regist
(是的,消息显示为register
而非ACTION_BATTERY_CHANGED
)粘性意图。
我使用以下代码:
Intent latestStickyIntent = getApplicationContext().registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
如您所见,由于我使用null
作为BroadcastReceiver,因此没有新接收器的实际注册。
据我所知,这只发生在HUAWEI RIO L01设备上的单个用户,但我不知道是否是原因。
任何人都有与此错误相似的经历?
更新(03/2016):
开始在其他华为设备(ALE L04,G7 L03)上看到同样的问题,但仍然没有其他厂商的设备。
答案 0 :(得分:1)
这是华为移动电话系统的局限。华为的手机有白名单机制。只有白名单中的APP才能避免此错误。我用反射试图解决这个bug。可能会对你有所帮助
https://github.com/llew2011/HuaWeiVerifier
dependencies {
// add dependencies
implementation 'com.llew.huawei:verifier:1.0.2'
}
public class SimpleApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
LoadedApkHuaWei.hookHuaWeiVerifier(getBaseContext());
}
}