Google har præsenteret den anden testversion af den åbne mobile platform Android 15. Udgivelsen af Android 15 forventes i tredje kvartal af 2024. For at vurdere de nye muligheder på platformen er der foreslået et forhåndstestprogram. Firmware-versionerne er forberedt til enhederne Pixel 6/6a/6 Pro, Pixel 7/7a/7 Pro, Pixel 8/8a/8 Pro, Pixel Fold og Pixel Tablet.
Ændringer i Android 15 Developer Preview 2 i forhold til den første forhåndsudgave:
- Applikationer får mulighed for at bruge små hjælpe-skærme (Cover screen), som nogle foldbare smartphones, såsom Samsung Galaxy Z Flip, er udstyret med. For eksempel giver hjælpe-skærmen mulighed for hurtigt at besvare opkald, svare på beskeder, styre kameraet og udføre andre handlinger uden at folde enheden ud.

- I TextView-widgetten er attributten elegantTextHeight som standard aktiveret, hvilket betyder, at der anvendes skrifttyper med større vertikale afstande i stedet for en kompakt skrifttype, hvilket forbedrer læsbarheden af teksten.


- Mulighederne for at arbejde via satellitkommunikationskanaler er blevet udvidet. Nye interface-elementer er tilføjet for at ensarte brugen af satellitkommunikation. Applikationer får mulighed for at bestemme brugen af en satellitkanal ved hjælp af metoden ServiceState.isUsingNonTerrestrialNetwork(). I grænsefladen til SMS/MMS er der implementeret support til sending og modtagelse af beskeder via satellitkanaler.

- Der er arbejdet på at forenkle brugen af telefoner med NFC-support til betaling af varer med ét tryk (tap to pay). Applikationer får mulighed for at sætte NFC-adapteren i overvågningsmode, hvor enheden accepterer NFC-anmodninger og sender dem til behandling til den angivne proces, men ikke svarer og ikke sender data til NFC-læsere.
- Mulighederne for at gengive PDF-dokumenter (API PdfRenderer) er blevet væsentligt udvidet. For eksempel er der tilføjet værktøjer til at gengive beskyttede filer med adgangskoder, vise annotationer, redigere formularer, søge i dokumentet og markere områder til kopiering via udklipsholderen. Der er tilføjet optimeringer, der reducerer ressourceforbruget og fremskynder visningen af lokale PDF-filer. Implementeringen af API PdfRenderer er blevet adskilt i en separat modul, der opdateres via Google Play og ikke er knyttet til den primære platform.

- Forbedrede muligheder for automatisk sproggenkendelse og sprogskift. Applikationer har fået udvidede muligheder for finjustering af sprogskift under talegenkendelse. For eksempel tillader tilstanden EXTRA_LANGUAGE_SWITCH_INITIAL_ACTIVE_DURATION_TIME_MILLIS skift kun i starten af lydsessionen, mens tilstanden EXTRA_LANGUAGE_SWITCH_MATCH_SWITCHES annullerer sprogskift efter et bestemt antal skift, hvilket kan være nyttigt i situationer, hvor det er kendt på forhånd, at der i én session kun vil blive brugt ét sprog.
- Der er givet værktøjer til fleksibel styring af linjeskift. I TextView-widgeten kan man for forbedret læsbarhed styre sammenbruddet af ordgrupper eller dele af ord til en anden linje ved hjælp af tags <nobreak> og <nohyphen>. For eksempel i sætningen «The power and brains behind <nobreak>Pixel 8 Pro.<\/nobreak>» vil udtrykket «Pixel 8 Pro» altid blive vist på én linje.


- Mulighederne for filtrering af intent-forespørgsler er udvidet. Ved hjælp af klassen UriRelativeFilterGroup kan man definere regler for at blokere eller tillade forespørgsler baseret på indholdet af URL-parametre og URL-fragmenter. Filtreringsregler kan også defineres via det nye tag <uri-relative-filter-group> i applikationens manifest.
- Støtten til API OpenJDK er udvidet. For eksempel er der tilføjet understøttelse af yderligere metoder i klasserne Math og StrictMath, ordnede samlinger og lister, brugen af ByteBuffer i Deflater, samt opdatering af nøgler.
- Der er tilføjet et API, der gør det muligt for applikationer at bestemme, om skærmoptagelse udføres. Applikationen kan angive en callback-handler, der vil blive kaldt, hvis skærmoptagelsen er aktiveret, og applikationsvinduet er synligt. Denne funktion gør det muligt at vise advarsler til brugeren om optagelse, hvis der vises fortrolige oplysninger.
- Der er tilføjet API ApplicationStartInfo, som kan give information om tilstanden ved opstart af programmet. For eksempel kan man finde ud af, om applikationens komponenter er cachede (tilstandene cold, warm eller hot), hvor længe forskellige opstartstrin har taget, hvad der var årsagen til opstarten, samt bestemme metrikker, der er nyttige til optimering af opstartshastigheden.
- Behandlingen af den stoppede tilstand er ændret, hvor udførelsen af applikationen pauser, indtil der udføres en handling fra brugeren. Den nye version giver mulighed for, at applikationen kan definere, hvornår pausen ophører: behandling af meddelelsen BOOT_COMPLETED eller brug af metoden ApplicationStartInfo.wasForceStopped().
- Udover metoden StorageStats.getAppBytes(), som giver oplysninger om den samlede størrelse af den installerede applikation, er metoden StorageStats.getAppBytesByDataType() tilføjet, hvilket gør det muligt at modtage separate oplysninger om størrelsen af APK-pakken, den kompilerede kode, udtrukne og genererede data.
- Der er foretaget ændringer i API'en for opstart af prioriterede tjenester (Foreground Service). En ny type prioriterede tjenester - mediaProcessing - er blevet tilføjet, som kan anvendes til ressourcetunge operationer med multimedieindhold, såsom konvertering fra ét format til et andet.
- En ny API til arbejdet med lagermotoren baseret på SQLite-database er blevet foreslået, hvilket giver adgang til udvidede muligheder fra SQLite.
- Muligheden for at styre HDR-højdepunktreserve (forholdet mellem den lyseste hvide farve i HDR-billedet og lysstyrken af hvid farve i standard dynamisk rækkevidde-billedet) er blevet introduceret. Metoden setDesiredHdrHeadroom er tilføjet for at balancere lysstyrken ved visning af indhold i SDR og HDR.

- Støtte til standarden CTA-2075 er blevet tilføjet, som definerer mulighederne for normalisering af lydstyrken, så niveauet for forskellige indholdstyper ikke ændres. Lydstyrkekonsistens opnås ved at definere metadata om højttalerspecifikationer og lydstyrken af AAC-lydindholdet. Der er foreslået objektet LoudnessCodecController og metoden OnLoudnessCodecUpdateListener, der justerer lydstyrkeindstillingerne før anmodning til codec'en.
- I AndroidX media3 ExoPlayer 1.0 er brugen af rumligt lyd standardaktiveret for multikanallyd, hvis rumligt lyd understøttes på enheden. Klassen Virtualizer er blevet erklæret forældet, og i stedet for denne skal klassen Spatializer anvendes for at bestemme adfærden og egenskaberne ved rumligt lyd.
- Der er tilføjet en klasse AutomaticZenRules, som gør det muligt for apps at indstille regler for "Forstyrr ikke"-tilstand og bestemme, hvornår disse regler skal anvendes.

Kilde: opennet.ru








