Muz*_*ant 19 android broadcastreceiver illegalargumentexception huawei
在尝试获取最新的粘性意图时,我收到了java.lang.IllegalArgumentException以下消息regist too many Broadcast Receivers(是的,消息说明regist而不是register)ACTION_BATTERY_CHANGED.我使用以下代码:
Intent latestStickyIntent = getApplicationContext().registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
Run Code Online (Sandbox Code Playgroud)
如您所见,由于我使用的null是BroadcastReceiver ,因此没有新接收器的实际寄存器.
据我所知,这只发生在HUAWEI RIO L01设备上的单个用户,但我不知道是否是原因.
任何人都有与此错误相似的经历?
更新(03/2016):
开始在其他华为设备(ALE L04,G7 L03)上看到相同的问题,但仍然没有其他厂商的设备.
这是华为手机系统的限制。华为手机有白名单机制。只有在他们的白名单中的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());
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3205 次 |
| 最近记录: |