Подтвердить что ты не робот

Java.lang.IllegalArgumentException: зарегистрировать слишком много широковещательных приемников

Я получаю 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):

Начнется аналогичная проблема с другими устройствами Huawei (ALE L04, G7 L03), но все еще нет устройств других производителей.

введите описание изображения здесь

4b9b3361

Ответ 1

Это ограничивает мобильную телефонную систему huawei. Мобильный телефон Huawei имеет белый список. Только APP в своем белом списке может избежать этой ошибки. Я использую рефлексию, чтобы попытаться решить эту ошибку. может помочь вам

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());
    }
}

Что все