Я не мог заставить его работать с куки, поэтому мне пришлось переключиться и использовать localalstorage в качестве резервной копии для сохранения токенов вместо куки.
Вот как выглядит моя финальная версия:
<template>
<Page>
<WebView @loadStarted="onLoadStarted"
@loaded="onWebViewLoaded"
src="https://yoururl.com/"
/>
</Page>
</template>
<script>
import { isAndroid } from "tns-core-modules/platform"
export default {
methods: {
onLoadStarted (webargs) {
if (isAndroid) {
const webView = webargs.object;
webView.android.getSettings().setDomStorageEnabled(true) // This will enable local storage
}
},
onWebViewLoaded(webargs) { // I use this only to disable the default zoom buttons
if (isAndroid) {
const webView = webargs.object;
webView.android.getSettings().setDisplayZoomControls(false)
webView.android.getSettings().setBuiltInZoomControls(false)
}
},
}
};
</script>
По-видимому, вы должны иметь возможность разрешить использование файлов cookie (по крайней мере, для новых пользователей SDK):
webView.on(WebView.loadStartedEvent, (args) => {
webView.android.getSettings().setAcceptThirdPartyCookies(webView, true)
});
Но это не сработало так, как ожидалось, так как иногда казалось, что это может сохранить файлы cookie. а иногда нет, иногда удаляет файлы cookie (когда вы выходите из системы), а иногда нет.
Я надеюсь, что эта информация кому-то поможет, так как наверняка кажется, что информации об этом практически нет, особенно если вы не хорошо знакомы с чистой Java Android разработкой.