#android #android-intent #android-manifest #android-11
Вопрос:
Он используется packageManager.resolveActivity
для проверки активности при получении уведомления FCM и подготовке Intent
(поэтому startActivity()
прямой вызов отсутствует).
Он работает в другой версии ОС, но не на Android 11, packageManager.resolveActivity
возвращает значение null:
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.yahoo.com"));
ResolveInfo info = packageManager.resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY);
следуя https://developer.android.com/training/package-visibility/use-cases#open-urls-browser-or-other-app,
добавлено в манифест:
<queries>
<intent>
<action android:name="android.intent.action.VIEW" />
<!-- <data android:scheme="*" /> --> //<== with or without this line it is the same
</intent>
</queries>
Однако он по-прежнему возвращает значение null.
Есть какие-нибудь предложения/решения?
Комментарии:
1. Что произойдет, если вы используете
<data android:scheme="https" />
?2. @CommonsWare, использовал «https» для схемы, сначала она тоже не работала.
3. Раздел примера
<queries>
в документах Android немного отличается, в нем естьcategory
элемент, вы пробовали его добавить? developer.android.com/training/package-visibility/…