Android Studio 3.5: не удалось разрешить LocalBroadcastManager

Мы пытаемся реализовать LocalBroadcastManager в нашем приложении для Android, но сталкиваемся с ошибкой «Не удается устранить».

Это объект, который нам нужен - https://developer.android.com/reference/android/support/v4/content/LocalBroadcastManager

Включена библиотека в приложение build.gradle (как указано на этой странице)

implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.android.support:localbroadcastmanager:28.0.0'

Включен Maven в решение build.gradle

allprojects {
    repositories {
        google()
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}

Gradle version is 5.4.1

Строка ниже выдает ошибку «Не удается разрешить символ».

LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(context);

Пожалуйста, дайте мне знать, что нам может не хватать. Ценю вашу помощь.


person Krishnan V S    schedule 29.09.2019    source источник
comment
Нет, мы этого не сделали. Вы рекомендуете включить Jetifier и использовать Androidx, как указано в nice j? Мы пока не использовали Androidx, вызовет ли это проблемы совместимости с остальными библиотеками?   -  person Krishnan V S    schedule 29.09.2019


Ответы (3)


Я проверил это в Android Studio 3.5, и никаких проблем не обнаружил. но я использую androidX и LocalBroadcastManager импортированные из androidx.localbroadcastmanager.content.LocalBroadcastManager;

person Anice Jahanjoo    schedule 29.09.2019
comment
Спасибо за ваш ответ. Вы рекомендуете включить Jetifier и использовать Androidx, как указано в nice j? Мы пока не использовали Androidx, вызовет ли это проблемы совместимости с остальными библиотеками? - person Krishnan V S; 29.09.2019
comment
@KrishnanVS определенно рекомендую, потому что Google прекращает поддержку com.android.support, и вам нужно выполнить миграцию .. У меня не было проблем с миграцией, но не забывайте об этом stackoverflow.com/a/55932544/5282127 - person Anice Jahanjoo; 29.09.2019
comment
Отлично, спасибо за помощь. Мы сразу это проверим и обновим ответ. - person Krishnan V S; 29.09.2019

Я предполагаю, что вы включили Jetifier, поэтому вам не следует использовать зависимости поддержки:

Заменять

implementation 'com.android.support:support-v4:28.0.0' 
implementation 'com.android.support:localbroadcastmanager:28.0.0'

с участием

implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'

Вот документация по нему: https://developer.android.com/reference/kotlin/androidx/localbroadcastmanager/content/LocalBroadcastManager

person cycki    schedule 29.09.2019
comment
Спасибо за ответ, сразу проверим. - person Krishnan V S; 29.09.2019

Спасибо за предложения, переход на androidx сработал. Мы получаем широковещательный вызов Receiver. Большое спасибо за оперативную помощь.

person Krishnan V S    schedule 30.09.2019