Почему Activity.startActivity() не может найти мою активность только в API 33? ⇐ Android
Почему Activity.startActivity() не может найти мою активность только в API 33?
У меня есть ошибка, которая возникает только в API 33. Что-то изменилось? Я имею в виду, что все определенно изменилось, но я сделал все необходимые обновления. Я что-то пропустил?
У меня есть два приложения: A и B. Назовем их com.example.a и com.example.b. Им нужно запустить друг друга. Начиная с API 33, когда приложение A пытается запустить приложение B, я получаю:
android.content.ActivityNotFoundException: невозможно найти явный класс активности {com.example.b/com.example.b.DefaultLaunchActivity}; Объявили ли вы это действие в своем AndroidManifest.xml или ваше намерение не соответствует объявленному ? DefaultLaunchActivity определяется в манифесте приложения B следующим образом:
Я также добавил следующее в манифест приложения A (требуется начиная с API 31):
Наконец, приложение A получает намерение запуска приложения B следующим образом:
val Intent = application.packageManager.getLaunchIntentForPackage("com.example.b")?.apply { addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP) } Добавление Intent.FLAG_ACTIVITY_REQUIRE_NON_BROWSER не помогает. Приложение Б получает ту же ошибку при попытке запустить приложение А.
Для ясности: приведенный выше код работает с API 32, но не с API 33. Что изменилось?
У меня есть ошибка, которая возникает только в API 33. Что-то изменилось? Я имею в виду, что все определенно изменилось, но я сделал все необходимые обновления. Я что-то пропустил?
У меня есть два приложения: A и B. Назовем их com.example.a и com.example.b. Им нужно запустить друг друга. Начиная с API 33, когда приложение A пытается запустить приложение B, я получаю:
android.content.ActivityNotFoundException: невозможно найти явный класс активности {com.example.b/com.example.b.DefaultLaunchActivity}; Объявили ли вы это действие в своем AndroidManifest.xml или ваше намерение не соответствует объявленному ? DefaultLaunchActivity определяется в манифесте приложения B следующим образом:
Я также добавил следующее в манифест приложения A (требуется начиная с API 31):
Наконец, приложение A получает намерение запуска приложения B следующим образом:
val Intent = application.packageManager.getLaunchIntentForPackage("com.example.b")?.apply { addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP) } Добавление Intent.FLAG_ACTIVITY_REQUIRE_NON_BROWSER не помогает. Приложение Б получает ту же ошибку при попытке запустить приложение А.
Для ясности: приведенный выше код работает с API 32, но не с API 33. Что изменилось?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как создается первый экземпляр Activity из Activity.Current в веб-API asp.net?
Гость » » в форуме C# - 0 Ответы
- 60 Просмотры
-
Последнее сообщение Гость
-
-
-
Google Fit Data Physical Activity Data, .../Auth/Fitness.Activity.Write
Anonymous » » в форуме Android - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-