Почему Activity.startActivity() не может найти мою активность только в API 33?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Почему Activity.startActivity() не может найти мою активность только в API 33?

Сообщение Anonymous »


У меня есть ошибка, которая возникает только в 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. Что изменилось?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»