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
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как использовать Postmessage с TWA, чтобы обеспечить связь между TWA и браузером через JS?
Anonymous » » в форуме JAVA - 0 Ответы
- 15 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как мне получить window.parent.postMessage (не могу использовать CefSharp.PostMessage)?
Anonymous » » в форуме C# - 0 Ответы
- 34 Просмотры
-
Последнее сообщение Anonymous
-