QNA > C > Come Salvare I Popup Di Sistema (Risposta Ussd) Sulle Applicazioni Android Come Un Messaggio Di Dialogo

Come salvare i popup di sistema (risposta USSD) sulle applicazioni Android come un messaggio di dialogo

USSD è una tecnologia di comunicazione che viene utilizzata per inviare testo tra un telefono cellulare e un programma applicativo (operatore di rete) nella rete.

I codici USSD sono utilizzati dagli utenti della rete per ottenere informazioni sull'utilizzo dall'operatore corrente. I codici USSD iniziano con *, preceduti da numeri e finiscono con #. Es: *123#

Come gestire/leggere/parsare i messaggi USSD dal popup.

Passi da implementare (aiutato da un caro amico)

1. Scrivere una classe chiamata "XXXX"

public class XXXX extends AccessibilityService {

public static String TAG = "XXXX";

@Override

public void onAccessibilityEvent(AccessibilityEvent event) {

Log.d(TAG, "onAccessibilityEvent");

String text = event.getText().toString();

if (event.getClassName().equals("android.app.AlertDialog")) {

performGlobalAction(GLOBAL_ACTION_BACK);

Log.d(TAG, text);

Intent intent = new Intent("com.times.ussd.action.REFRESH");

intent.putExtra("message", text);

// write a broad cast receiver and call sendbroadcast() from here, if you want to parse the message for balance, date

}

}

@Override

public void onInterrupt() {

}

@Override

protected void onServiceConnected() {

super.onServiceConnected();

Log.d(TAG, "onServiceConnected");

AccessibilityServiceInfo info = new AccessibilityServiceInfo();

info.flags = AccessibilityServiceInfo.DEFAULT;

info.packageNames = new String[]{"com.android.phone"};

info.eventTypes = AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED;

info.feedbackType = AccessibilityServiceInfo.FEEDBACK_GENERIC;

setServiceInfo(info);

}

}

2. Add an entry for the above service in the manifest

android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">

android:resource="@xml/config_service" /> // created below

3. Create a folder 'xml' under res, and then create file named "config_service.xml" in xml folder.

android:accessibilityEventTypes="typeAllMask"

android:accessibilityFeedbackType="feedbackSpoken"

android:accessibilityFlags="flagDefault"

android:canRetrieveWindowContent="true"

android:description="Questo servizio registra i pop up inviati dal tuo operatore mobile, e li salva nella XXXX App. È assolutamente sicuro da usare". //dichiarare questo in string.xml

android:notificationTimeout="100"

android:packageNames="com.times.ussd"

android:settingsActivity="com.example.android.accessibility.ServiceSettingsActivity" />

Per eseguire un servizio di accessibilità sono necessari i permessi dell'utente. L'xml di cui sopra è usato per fornire la descrizione necessaria all'utente.

4. Ora nella vostra attività, invocate questo

startService(new Intent(this, XXXX.class));

dailNumber("*111*2");

5. Lancia la tua applicazione.

6. Dopo il lancio, cambia le impostazioni manualmente

Impostazione->Impostazione accessibilità -> Puoi vedere un'opzione 'nome della tua app'. Attivatela. (Questo deve essere fatto come parte del flusso dell'applicazione (non manuale))

7. Riavvia la tua applicazione, e controlla i log, che ho scritto nella classe Service

Di Dyun Blegen

Perché YouTube mi ha bloccato dai commenti? :: Come fermare i pop up Airtel live nel mio cellulare Android
Link utili