Android Oreo tillåter appar att läsa USSD-meddelanden från operatörer

USSD är ett protokoll för att skicka data via GSM, liknande SMS. Från och med Android Oreo kan appar nu interagera med inkommande USSD-kodsvar.

USSD är ett protokoll för att skicka data via GSM, liknande SMS. Det används oftast för återuppringningstjänster, kontroll av data/minuter, interaktiva nyheter, försäljning av ringsignaler och till och med betalningsmetoder. Det är en bar-bones tjänst som är tillgänglig universellt i smartphones och funktionstelefoner, och dess tillförlitlighet är huvudorsaken till att USSD inte har förändrats en bit sedan GSM först implementerades i 1991. Även om de alltid har funnits i alla Android-uppringningsappar, visas USSD-meddelanden alltid som en dialogruta eller grundläggande menyer med systemtema. Inga andra appar kunde interagera med dessa USSD-meddelanden, åtminstone förrän nu.

Med Android Oreo har en ny klass lagts till som tillåter appar att interagera med USSD-förfrågningar. Telefonihanteraren. UssdResponseCallback-klassen används för att meddela uppringare om sendUssdRequest när nätverket lyckats slutföra en USSD-förfrågan eller om det uppstod ett misslyckande när förfrågan slutfördes. I dessa fall kommer onReceiveUssdResponse att anropas om begäran slutfördes och onReceiveUssdResponseFailed kommer att anropas om begäran misslyckas.

Även om systemet fortfarande kommer att hantera alla USSD-meddelanden med den befintliga implementeringen, bör detta vara en utgångspunkt för apputvecklare att börja interagera med USSD-förfrågningar. Och med tanke på att i tidigare Android-versioner var det enda sättet att läsa USSD-meddelanden att implementera en prestandatung tillgänglighetstjänst för att läsa allt fönsterinnehåll är detta nya API nu ett mycket renare sätt att komma åt dessa meddelanden.

Det finns för närvarande ingen ersättning för USSD-protokollet, och med tanke på hur mycket information din operatör erbjuder om ditt mobilabonnemang genom USSD-koder, kommer detta nya API att ha stor användning i framtiden. Till exempel erbjuder läsning av USSD-kodsvar mycket mer korrekt information om din nuvarande dataplan än Androids inbyggda datarapporteringssystem. Det beror på att det inhemska systemet inte kan ta hänsyn till vissa nyanser som t.ex T-Mobiles binge-on funktion.

Du kan kolla in dokumentationen och användningen för den här klassen på Android-utvecklare webbplats, så att du kan börja mixtra med den och distribuera den i din app. Android Oreo har introducerat massor av små men betydande nya, icke-annonserade ändringar och API, och vi kommer att hålla dig informerad om allt annat vi hittar.