TWA Postmessage не удается, когда разрешение уведомления отключено - процесс неожиданно заканчиваетсяAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 TWA Postmessage не удается, когда разрешение уведомления отключено - процесс неожиданно заканчивается

Сообщение 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>
Спасибо. Помогите мне, пожалуйста,

Подробнее здесь: https://stackoverflow.com/questions/795 ... ss-ends-un
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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