„Android O“ automatinio pildymo sistema pagaliau išspręs ilgalaikę vėlavimo problemą naudojant slaptažodžių tvarkykles

Naujoji automatinio pildymo sistema „Android O“ išspręs ilgalaikę vėlavimo problemą, susijusią su slaptažodžių tvarkytuvų pritaikymo neįgaliesiems paslaugomis.

Jau praėjo mėnuo nuo tada, kai „Google“ išleido pirmoji „Android O“ kūrėjo peržiūra (laikas tikrai bėga greitai!), ir, kaip ir bet kurios naujos „Android“ versijos atveju, reikia daug ką pasigilinti. Mes paskelbėme daug straipsnių apie „Android O“, bet yra viena funkcija, kuri, mano manymu, tikrai nesulaukė reikiamo dėmesio: Automatinio pildymo karkasas.

Automatinis pildymas „Android O“.

Slaptažodžių tvarkyklės šiais laikais yra keliolika centų (nors mes dalinis atvirojo kodo KeePass), tačiau tik naudojant „Android O“, „Google“ tikrai oficialiai palaiko slaptažodžių tvarkykles. Naudojant „Android O“, trečiųjų šalių programos gali užpildyti automatinio pildymo paslaugos sąrašą, kuri palaiko ryšį su programomis per naują automatinio pildymo sistemą. Standartinės programos Žiūrėti elementai veiks su automatinio pildymo sistema, tačiau yra papildomų veiksmų, kurių kūrėjai gali imtis 

optimizuoti automatiniam pildymui kad būtų galima užtikrinti, kad bet kuris tinkintas programos rodinys gali būti automatiškai užpildytas.

Kai paryškinamas automatiškai užpildomas rodinys, automatinio pildymo sistema iškvies automatinio pildymo užklausą. Automatinio pildymo paslauga atsako siųsdama atgal tam tikrus automatinio pildymo duomenų rinkinius (pvz., vartotojo vardą, slaptažodį, adresą, kredito kortelių numerius ir kt.), kuriuos vartotojas gali pasirinkti. Automatinio pildymo paslaugą nurodo vartotojas skiltyje Nustatymai --> Programos ir pranešimai --> Numatytosios programos --> Automatinio pildymo programa.

Automatinio pildymo programa „Android O“. Kreditai: Lastpass.

Aukščiau pateiktas naujos automatinio pildymo sistemos paaiškinimas yra tik trumpa santrauka to, kas vyksta tiek užklausą teikiančioje programoje, tiek automatinio pildymo paslaugos pabaigoje. Svarbiausia, kad suprastumėte ne tikslią informaciją apie tai, kaip automatinis pildymas veikia naudojant „Android O“, o tai, kad Pačios slaptažodžių tvarkyklės programos nebeaptinka, kada rodinį galima užpildyti automatiškai.


Rekomenduojama literatūra: „AgileBits“ parodo, kaip atrodys „Android O“ automatinio pildymo sistema


Automatinis pildymas prieš Android O

Palyginkite tai su tuo, kaip automatinis pildymas veikė prieš „Android O“. Prieš tai slaptažodžių tvarkytojai turėjo bet kokį oficialų metodą, kad nustatytų, kada rodinys gali būti automatiškai užpildytas programa turėjo įdiegti pritaikymo neįgaliesiems paslaugą, kad nuskaitytų dabartinį rodinį ir rastų automatinį užpildymą laukai.

Tačiau pritaikymo neįgaliesiems paslaugos naudojimas gali sukelia didelį atsilikimą tam tikromis sąlygomis. Tačiau delsa, susijusi su įprastu slaptažodžių tvarkyklės pritaikymo neįgaliesiems paslauga, yra tokia akivaizdi, kad tokios populiarios paslaugos kaip LastPass netgi turi palaikymo puslapiai dėl klausimo. Šiuose palaikymo puslapiuose paprastai nurodoma, kad vienintelis būdas susidoroti su pernelyg dideliu jų sukeltu delsu Pritaikymo neįgaliesiems paslauga yra skirta išjungti pritaikymo neįgaliesiems paslaugą arba pereiti prie savo tinkintos įvesties naudojimo metodas. Bet kuriuo atveju prarasite bet kokią automatinio pildymo galimybę.

Bet kodėl būtent LastPass pritaikymo neįgaliesiems paslauga arba bet kuri kita slaptažodžių tvarkyklės pritaikymo neįgaliesiems paslauga sukelia tiek daug vėlavimo? Priežastis yra ta, kaip šios slaptažodžių tvarkyklės turi naudoti pritaikymo neįgaliesiems paslaugas, kad aptiktų įvesties laukus. Prieinamumo paslauga atributai yra apibrėžti an XML išteklių failas APK, kad galėtume pamatyti, kaip veikia paslauga, dekompiliuodami APK failą.

Žemiau pateikiamas išteklių failas, paimtas dekompiliuojant LastPass APK:


"@string/accessibility_service_description"
android: accessibilityEventTypes="typeViewFocused|typeWindowContentChanged"
android: accessibilityFeedbackType="feedbackGeneric"
android: notificationTimeout="200"
android: accessibilityFlags="flagReportViewIds"
android: canRetrieveWindowContent="true"
android: canRequestEnhancedWebAccessibility="true"
xmlns: andro />

Iš to galime surinkti tokią informaciją: „LastPass“ pritaikymo neįgaliesiems paslauga prašo stebėti dviejų tipų įvykių – TYPE_VIEW_FOCUSED ir TYPE_WINDOW_CONTENT_CHANGED. Tai daroma, nes ji turi žinoti, kada programos / tinklalapio turinys pasikeičia arba paryškinamas, tada nuskaito dabartinį lango turinį, kad ieškotų slaptažodžio įvesties laukų. Bet kadangi paslauga nuolat tai daro per du ypač dažnai suaktyvinamus pritaikymo neįgaliesiems įvykius, tai sukelia vėlavimą. Norėdami išsamiau aptarti, kaip pritaikymo neįgaliesiems paslaugos gali sukelti vėlavimą, remiuosi savo ankstesniu straipsniu šiuo klausimu.


Rekomenduojama literatūra: „Darbas kaip numatyta“ – „Android“ pritaikymo neįgaliesiems delsos tyrimas


Android O vienu akmeniu nužudo du paukščius

Iki „Android O“ slaptažodžių tvarkytuvų kūrėjai nelabai galėjo padaryti, kad sumažintų šį atsilikimą. Taip yra todėl, kad slaptažodžių tvarkytojai negalėjo žinoti, kada ekrane rodomas automatiškai užpildomas įvesties laukas, neįgalinus pritaikymo neįgaliesiems tarnybai nuolat juos stebėti. Tačiau dėl naujojo „Android O“ automatinio pildymo sistemos šie slaptažodžių tvarkytojai dabar gali atsisakyti pritaikymo neįgaliesiems paslaugų. Vietoj to, programos, kurioms reikia įvesti duomenis, paprašys automatinio pildymo sistemos paskambinti automatinio pildymo tarnybai, kuri tada išsiųs duomenis. Dėl šios naujos sistemos vartotojams ne tik bus daug lengviau įvesti slaptažodį, nes jiems nebereikės pasikliauti papildomas įvesties metodas, tačiau delsa, susijusi su slaptažodžių tvarkyklių pritaikymo neįgaliesiems paslaugų įgalinimu, bus praeitis.

Žinau, kad kai kuriems iš jūsų šis faktas galbūt nėra novatoriškas, bet maniau, kad diskusijos apie pritaikymo neįgaliesiems paslaugą buvo tokios tylios, šią temą būtų verta suaktyvinti. Tik šiek tiek peno apmąstymams šį savaitgalį!


Ką manote apie naująją „Android O“ automatinio pildymo sistemą? Praneškite mums toliau pateiktuose komentaruose!