Я просто создал приложение для Android, которое показывает веб -просмотр, который загружает URL -адрес веб -страницы LAN HTML/JS, которая является клиентом RDP Guacamole с использованием Guacamole Common JS. Я получил все, что работает отлично, но когда экран планшета Lenovo M9 (последняя версия) ложится спать (закрывая Smart Cover), когда я оставляю закрытую обложку на 5-6 минут или более, подключение WebSocket. Загрузка Web-View с кодом Guacamole JavaScript работает Отключает и должен восстановить подключение. Никогда не отключается, когда экран включен даже через 24 часа. > // CPU Wake Lock
wakelock = powermanager.newwakelock (
powermanager.partial_wake_lock или powermanager.on_after_release,
"Приложение: cpuwakelock"
).apply {
setReerenceCounted (false)
accire ()
} < /p>
// wifi lock
wifilock = wifimanager.createwifilock (
wifimanager.wifi_mode_full_high_perf,
"Приложение: wifilock"
).apply {
setReferenceCounted (false)
accire ()
} < /p>
websocket gove-alive Pings: < /p>
kotlincopyprivate al websockecocketalivehandler = handler (looper.getmainlooper ())
private val Websocket_ping_interval = 30000L // 30 секунд < /p>
private valsockecocketakeAliverunnable = object: runnable {
overde fun run () {
webview.evaluatejavascript мило > if (window.ws && window.ws.readystate === 1) {
console.log(''ceeping WebSocket Alive ');
window.ws.send('pip'sping't'tiplion');;br />}
"". > websockeckekealivehandler.postdelayed (this, websocket_ping_interval)
}
} < /p>
Служба переднего плана с Wake Locks: < /p>
kotlincopyclass websocketservice: service () {
private lateinit var wakelock: powermanager.wakelock
private lateinit var wifilock: wifimanager.wifilock < /p> < /p> > Br /> override fun onCreate() {
super.onCreate()
setupWakeLocks()
startForeground(NOTIFICATION_ID, createNotification())
}
< /code>
} < /p>
сигнал тревоги для Keep-alive: < /p>
kotlincopyprivate fun made chade keartalive () {
armidmanager.setRepeating (
alarmmanager.elapsed_realtime_wakeup,
systemClock.elapsedRealtime () + KEEP_ALIVE_INTERVAL,
KEEP_ALIVE_INTERVAL,
KeepALivePendingIntent
)
} < /p>
Соответствующие разрешения манифеста: < /p>
xmlcopy
< /p>
< /li>
< /ol>
Несмотря на эти реализации, соединение WebSocket по-прежнему падает примерно через 5-6 минут экрана. < /p>
Любые предложения о том, что еще я мог Постарайтесь поддерживать соединение WebSocket во время сна? Одна вещь сторонняя сторона Суперок Приложение Kiosk, если я настраиваю свое приложение для Android в качестве приложения для киоска с SureLock, оно работает идеально, даже если я выключаю свой экран, оно всегда подключено и никогда не отключается, независимо от того, как давно экран остается спать. Так что это говорит мне, что это определенно возможно, и проблема - мой код приложения Android.
Подробнее здесь: https://stackoverflow.com/questions/794 ... reen-sleep
Android 13 планшет предотвращает WebSocket в WebView Densonce на экране Sleep Sleep ⇐ Android
Форум для тех, кто программирует под Android
1740293822
Anonymous
Я просто создал приложение для Android, которое показывает веб -просмотр, который загружает URL -адрес веб -страницы LAN HTML/JS, которая является клиентом RDP Guacamole с использованием Guacamole Common JS. Я получил все, что работает отлично, но когда экран планшета Lenovo M9 (последняя версия) ложится спать (закрывая Smart Cover), когда я оставляю закрытую обложку на 5-6 минут или более, подключение WebSocket. Загрузка Web-View с кодом Guacamole JavaScript работает Отключает и должен восстановить подключение. Никогда не отключается, когда экран включен даже через 24 часа. > // CPU Wake Lock
wakelock = powermanager.newwakelock (
powermanager.partial_wake_lock или powermanager.on_after_release,
"Приложение: cpuwakelock"
).apply {
setReerenceCounted (false)
accire ()
} < /p>
// wifi lock
wifilock = wifimanager.createwifilock (
wifimanager.wifi_mode_full_high_perf,
"Приложение: wifilock"
).apply {
setReferenceCounted (false)
accire ()
} < /p>
websocket gove-alive Pings: < /p>
kotlincopyprivate al websockecocketalivehandler = handler (looper.getmainlooper ())
private val Websocket_ping_interval = 30000L // 30 секунд < /p>
private valsockecocketakeAliverunnable = object: runnable {
overde fun run () {
webview.evaluatejavascript мило > if (window.ws && window.ws.readystate === 1) {
console.log(''ceeping WebSocket Alive ');
window.ws.send('pip'sping't'tiplion');;br />}
"". > websockeckekealivehandler.postdelayed (this, websocket_ping_interval)
}
} < /p>
Служба переднего плана с Wake Locks: < /p>
kotlincopyclass websocketservice: service () {
private lateinit var wakelock: powermanager.wakelock
private lateinit var wifilock: wifimanager.wifilock < /p> < /p> > Br /> override fun onCreate() {
super.onCreate()
setupWakeLocks()
startForeground(NOTIFICATION_ID, createNotification())
}
< /code>
} < /p>
сигнал тревоги для Keep-alive: < /p>
kotlincopyprivate fun made chade keartalive () {
armidmanager.setRepeating (
alarmmanager.elapsed_realtime_wakeup,
systemClock.elapsedRealtime () + KEEP_ALIVE_INTERVAL,
KEEP_ALIVE_INTERVAL,
KeepALivePendingIntent
)
} < /p>
Соответствующие разрешения манифеста: < /p>
xmlcopy
< /p>
< /li>
< /ol>
Несмотря на эти реализации, соединение WebSocket по-прежнему падает примерно через 5-6 минут экрана. < /p>
Любые предложения о том, что еще я мог Постарайтесь поддерживать соединение WebSocket во время сна? Одна вещь сторонняя сторона Суперок Приложение Kiosk, если я настраиваю свое приложение для Android в качестве приложения для киоска с SureLock, оно работает идеально, даже если я выключаю свой экран, оно всегда подключено и никогда не отключается, независимо от того, как давно экран остается спать. Так что это говорит мне, что это определенно возможно, и проблема - мой код приложения Android.
Подробнее здесь: [url]https://stackoverflow.com/questions/79460810/android-13-tablet-prevent-websocket-in-webview-disconnect-on-screen-sleep[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия