Autore Topic: Utilizzare i Telephony.SECRET_CODE  (Letto 2756 volte)

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Utilizzare i Telephony.SECRET_CODE
« il: 11 Dicembre 2010, 20:46:46 CET »
+1
Digitando nel dialer telefonico di Android una particolare stringa, composta da  "*#*#", un intero positivo di 4 cifre e "#*#*" (es: "*#*#4636#*#*"), è possibile inviare degli intent che possono poi essere catturati da un opportuno receiver all'interno delle nostre applicazioni.

Per far questo è sufficiente creare una classe SecretCodeReceiver.java all'interno della quale si dovrà gestire opportunamente l'intent dei SECRET_CODE.

In questo esempio alla ricezione dell'intent generato dal codice "*#*#1337#*#*" verrà avviata l'activity MainActivity:
Codice (Java): [Seleziona]
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class SecretCodeReceiver extends BroadcastReceiver {

    private static String SECRET_CODE_ACTION = "android.provider.Telephony.SECRET_CODE";

    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals(SECRET_CODE_ACTION)) {
            Intent updateIntent = new Intent(context, MainActivity.class);
            updateIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(updateIntent);
        }
    }
}

Fatto questo si dovrà registrare il receiver all'interno dell'AndroidManifest.xml:
Codice (XML): [Seleziona]
<receiver
        android:name="SecretCodeReceiver">
        <intent-filter>
                <action
                        android:name="android.provider.Telephony.SECRET_CODE" />
                <data
                        android:scheme="android_secret_code"
                        android:host="1337" />
        </intent-filter>
</receiver>

Ora non rimane che installare l'app sul telefono, aprire il dialer e digitare il vostro secret code ;)



PS
Android stesso utilizza dei secret code per avviare Activity nascoste, provare per credere ;)
*#*#4636#*#*
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline acquariusoft

  • Utente normale
  • ***
  • Post: 157
  • Respect: +2
    • Mostra profilo
    • Visita il mio blog
  • Dispositivo Android:
    Galaxy ace, Asus eee transformer
  • Play Store ID:
    acquariusoft
  • Sistema operativo:
    Windows 7
Re:Utilizzare i Telephony.SECRET_CODE
« Risposta #1 il: 12 Dicembre 2010, 00:32:31 CET »
0
ora però una domanda complicata, è possibile cambiare il numero da codice in modo che l'utente possa mettersene uno personalizzato?

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Utilizzare i Telephony.SECRET_CODE
« Risposta #2 il: 12 Dicembre 2010, 00:34:48 CET »
0
Non credo, essendo dichiarato nel Manifest. Spero di essere smentito.
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !