Код: Выделить всё
Notification.requestPermission()Используя самую последнюю версию Google Bubblewrap, я создал оболочку Android Trusted Web Activity (TWA) для моего PWA (прогрессивного веб-приложения), созданного с помощью SolidJS. Мой код Android использует:
Код: Выделить всё
public class DelegationService extends com.google.androidbrowserhelper.trusted.DelegationService
Однако, когда PWA вызывает Notification.requestPermission() и пользователь выбирает «Разрешить», PWA возвращает «предоставлено», но разрешение на уведомления приложения все еще «заблокирован».
Я проверил, что следую всем инструкциям для gradle и т. д., и попробовал 100 вариантов, но это все еще происходит. Кажется, это должно быть просто и общепринято: включить PWA для включения уведомлений в оболочке TWA для Android, и все же я в тупике.
Идеи?
реализация 'com.google.androidbrowserhelper:androidbrowserhelper:2.6.2'
Для его запуска я использую следующие шаги:
Код: Выделить всё
adb uninstall com.testapp.www.twa
fastlane android install_debug
adb logcat -T "$(date +'%m-%d %H:%M:%S.%q' -d '1 seconds ago')" -s "FirebaseMsgService" "LauncherActivity" "cr_TrustedWebActivity" "chromium" "ActivityTaskManager" "LogErrorOperation" "FirebaseMessaging" "FirebaseMessagingService" "NotificationManager" "MyApplication" "TwaApplication" "TwaDelegationService" "OriginVerifier" "Notifications"
Код: Выделить всё
Requesting notification permission via Web API.
DIAGNOSTIC: Web API notification permission result: granted
Это класс, который я расширяю: https://github.com/GoogleChrome/android ... rvice.java
Этот код, похоже, выполняет тяжелую работу в коде Android, чтобы фактически получить и изменить разрешение на уведомление приложения Android, но я не уверен, как это связано с моим кодом, и он не упоминается в документации: https://github.com/GoogleChrome/android ... ivity.java
Подробнее здесь: https://stackoverflow.com/questions/798 ... b-activity
Мобильная версия