founal < /strong>
Я разрабатываю мобильное приложение с использованием доверительной веб -активности (TWA) и успешно интегрировал CustomTabsSession, чтобы обеспечить связь между веб -приложением и приложением Android через PostMessage. < /p>
Обычно все работает нормально, но при уведомлении пользователя по почте Работа.2025-03-11 15:03:58.331 1955-3773 AppOps system_server E Bad call made by uid 1000. Package "com.app.test" does not belong to uid -1. 2025-03-11 15:03:58.331 1955-3773 AppOps system_server E Cannot noteOperation (Ask Gemini) java.lang.SecurityException: Specified package "com.app.test" under uid -1 but it is not at com.android.server.appop.AppOpsService.verifyAndGetBypass(AppOpsService.java:3963) at com.android.server.appop.AppOpsService.verifyAndGetBypass(AppOpsService.java:3823) at com.android.server.appop.AppOpsService.noteOperationUnchecked(AppOpsService.java:2659) at com.android.server.appop.AppOpsService.noteOperationImpl(AppOpsService.java:2647) ... 2025-03-11 15:03:58.817 6723-6729 com.app.test com.app.test W Cleared Reference was only reachable from finalizer (only reported once) ---------------------------- PROCESS ENDED (6723) for package com.app.test ----------------------------
< /code>
Кажется, что Android насильно останавливает приложение, когда разрешения уведомления отключены. Я подозреваю, что это связано с Appops или некоторой политикой безопасности системы, но я не уверен, как справиться с этим. < /P>
Вопросы < /strong> < /p>
Почему отключение уведомлений разрешено, когда это происходит, когда это происходит? Я обрабатываю поврежденную повторную режимализацию в этом сценарии? Postmessage все еще не удается даже после переподключения. < /li>
onMessAgeChannelReady больше никогда не называется. < /li>
< /ul>
Запуск коратика в MainActivity < /li>
< /ol>
, потому что процесс, потому что процесс, потому что процесс, потому что процесс, потому что процесс, потому что процесс, потому что процесс, потому что процесс, потому что процесс, потому что процесс, потому что процесс, потому что процесс. Стоп. /> Принуждение postmessage () возвращает -3. < /li>
< /ul>
Вот упрощенная версия логики обработки сеанса, чтобы начать TWA в MainActivity. < /p>
private fun bindCustomTabsService() { val packageName = CustomTabsClient.getPackageName(this, listOf("com.android.chrome")) SessionManager.getInstance().customTabsServiceConnection = object : CustomTabsServiceConnection() { override fun onCustomTabsServiceConnected( name: ComponentName, client: CustomTabsClient ) { SessionManager.getInstance().client = client
val warmupResult = client.warmup(0L)
Log.d(TAG, "Warmup result: $warmupResult")
SessionManager.getInstance().session = SessionManager.getInstance().client!!.newSession(SessionManager.getInstance().customTabsCallback)
launch()
// registerBroadcastReceiver() }
override fun onServiceDisconnected(componentName: ComponentName) {
SessionManager.getInstance().client = null
SessionManager.getInstance().session = null
}
}
CustomTabsClient.bindCustomTabsService(this, packageName,SessionManager.getInstance().customTabsServiceConnection!!)
}
/**
* TrustedWebActivityIntentBuilder를 사용해 웹 콘텐츠가 보여지도록 합니다.
*/
private fun launch() {
var launchUrl = URL
if (notificationUrl != "") {
launchUrl = Uri.parse(notificationUrl)
}
val splashScreenParams = Bundle().apply {
putInt("androidx.browser.trusted.trusted.KEY_SPLASH_SCREEN_BACKGROUND_COLOR", getColor(R.color.colorPrimary))
putParcelable("androidx.browser.trusted.KEY_SPLASH_SCREEN_TRANSFORMATION_MATRIX", Uri.parse("android.resource://${packageName}/${R.drawable.group_1757}"))
putInt("androidx.browser.trusted.KEY_SPLASH_SCREEN_FADE_OUT_DURATION", 500)
}
TrustedWebActivityIntentBuilder(launchUrl)
.setSplashScreenParams(splashScreenParams).build(SessionManager.getInstance().session!!).launchTrustedWebActivity(this@MainActivity)
finish()
}
< /code>
Спасибо. Помогите мне, пожалуйста,
Подробнее здесь: https://stackoverflow.com/questions/795 ... ss-ends-un
TWA Postmessage не удается, когда разрешение уведомления отключено - процесс неожиданно заканчивается ⇐ Android
Форум для тех, кто программирует под Android
1741723747
Anonymous
founal < /strong>
Я разрабатываю мобильное приложение с использованием доверительной веб -активности (TWA) и успешно интегрировал CustomTabsSession, чтобы обеспечить связь между веб -приложением и приложением Android через PostMessage. < /p>
Обычно все работает нормально, но при уведомлении пользователя по почте Работа.2025-03-11 15:03:58.331 1955-3773 AppOps system_server E Bad call made by uid 1000. Package "com.app.test" does not belong to uid -1. 2025-03-11 15:03:58.331 1955-3773 AppOps system_server E Cannot noteOperation (Ask Gemini) java.lang.SecurityException: Specified package "com.app.test" under uid -1 but it is not at com.android.server.appop.AppOpsService.verifyAndGetBypass(AppOpsService.java:3963) at com.android.server.appop.AppOpsService.verifyAndGetBypass(AppOpsService.java:3823) at com.android.server.appop.AppOpsService.noteOperationUnchecked(AppOpsService.java:2659) at com.android.server.appop.AppOpsService.noteOperationImpl(AppOpsService.java:2647) ... 2025-03-11 15:03:58.817 6723-6729 com.app.test com.app.test W Cleared Reference was only reachable from finalizer (only reported once) ---------------------------- PROCESS ENDED (6723) for package com.app.test ----------------------------
< /code>
Кажется, что Android насильно останавливает приложение, когда разрешения уведомления отключены. Я подозреваю, что это связано с Appops или некоторой политикой безопасности системы, но я не уверен, как справиться с этим. < /P>
Вопросы < /strong> < /p>
Почему отключение уведомлений разрешено, когда это происходит, когда это происходит? Я обрабатываю поврежденную повторную режимализацию в этом сценарии? Postmessage все еще не удается даже после переподключения. < /li>
onMessAgeChannelReady больше никогда не называется. < /li>
< /ul>
Запуск коратика в MainActivity < /li>
< /ol>
, потому что процесс, потому что процесс, потому что процесс, потому что процесс, потому что процесс, потому что процесс, потому что процесс, потому что процесс, потому что процесс, потому что процесс, потому что процесс, потому что процесс. Стоп. /> Принуждение postmessage () возвращает -3. < /li>
< /ul>
Вот упрощенная версия логики обработки сеанса, чтобы начать TWA в MainActivity. < /p>
private fun bindCustomTabsService() { val packageName = CustomTabsClient.getPackageName(this, listOf("com.android.chrome")) SessionManager.getInstance().customTabsServiceConnection = object : CustomTabsServiceConnection() { override fun onCustomTabsServiceConnected( name: ComponentName, client: CustomTabsClient ) { SessionManager.getInstance().client = client
val warmupResult = client.warmup(0L)
Log.d(TAG, "Warmup result: $warmupResult")
SessionManager.getInstance().session = SessionManager.getInstance().client!!.newSession(SessionManager.getInstance().customTabsCallback)
launch()
// registerBroadcastReceiver() }
override fun onServiceDisconnected(componentName: ComponentName) {
SessionManager.getInstance().client = null
SessionManager.getInstance().session = null
}
}
CustomTabsClient.bindCustomTabsService(this, packageName,SessionManager.getInstance().customTabsServiceConnection!!)
}
/**
* TrustedWebActivityIntentBuilder를 사용해 웹 콘텐츠가 보여지도록 합니다.
*/
private fun launch() {
var launchUrl = URL
if (notificationUrl != "") {
launchUrl = Uri.parse(notificationUrl)
}
val splashScreenParams = Bundle().apply {
putInt("androidx.browser.trusted.trusted.KEY_SPLASH_SCREEN_BACKGROUND_COLOR", getColor(R.color.colorPrimary))
putParcelable("androidx.browser.trusted.KEY_SPLASH_SCREEN_TRANSFORMATION_MATRIX", Uri.parse("android.resource://${packageName}/${R.drawable.group_1757}"))
putInt("androidx.browser.trusted.KEY_SPLASH_SCREEN_FADE_OUT_DURATION", 500)
}
TrustedWebActivityIntentBuilder(launchUrl)
.setSplashScreenParams(splashScreenParams).build(SessionManager.getInstance().session!!).launchTrustedWebActivity(this@MainActivity)
finish()
}
< /code>
Спасибо. Помогите мне, пожалуйста,
Подробнее здесь: [url]https://stackoverflow.com/questions/79502002/twa-postmessage-fails-when-notification-permission-is-disabled-process-ends-un[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия