Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Introduzca programáticamente código secreto como * # * # 4636 # * # * en Android

En muchos dispositivos Android puedes acceder a un menú de configuración secreta desde la aplicación Teléfono escribiendo

Unesdoc.unesco.org unesdoc.unesco.org

Http://technology-headlines.com/2010/09/17/4636-android-secret-codes/

También hay otros códigos.

¿También es posible abrir estas cosas de forma programática?

He intentado esto:

Intent intent = new Intent(Intent.ACTION_CALL); intent.setData(Uri.parse("tel:*#*#4636#*#*")); startActivity(intent); 

Pero sólo intenta iniciar una llamada telefónica y, por supuesto, falla, cuelga y cierra la aplicación Teléfono.

EDIT: El teléfono * # * # 4636 # * # * se guarda en mi lista de contactos como "Desconocido" pero la llamada falla. De hecho, el código secreto sólo funciona cuando escribe manualmente en los botones de la aplicación Teléfono sin pulsar Llamar al final. ¿Es probablemente sólo una característica oculta de la aplicación de teléfono que no tiene nada que ver con la llamada? Si es así, se puede abrir la aplicación Teléfono mediante programación y simular la escritura en los botones.

De acuerdo con este post Presione un botón en la actividad de otra aplicación de forma programática

Esto no debería ser posible porque si cualquier aplicación en el teléfono sin raíces sólo podría iniciar otras aplicaciones y presione algo allí, podría tomar el control de todo el dispositivo y hacer cosas malas.

Éstos son algunos más detalles, pero supongo que la publicación es un poco antigua y aunque funcionó, puede haber cambiado en las versiones actuales de Android: http://mylifewithandroid.blogspot.de/2009/01/generating-keypresses-programmatically.html

Por lo tanto, no hay manera más fácil de introducir el código secreto?

  • Mensaje inusual de logcat mostrado infinitamente - Android
  • Error 1 libavcodec.so Formato de archivo no reconocido Android GL Live Wallpaper
  • No se muestran los anuncios de Mopub
  • Intent.putExtra () en intención pendiente no funciona
  • ¿Cómo diferencia Log.wtf () de Log.e ()?
  • Ejecutar pelusa al construir proyectos de estudio de android
  • Android - Desvanece imagen de mapa de bits en lienzo
  • RxJava y Sqlbrite - qué operador utilizar
  • 4 Solutions collect form web for “Introduzca programáticamente código secreto como * # * # 4636 # * # * en Android”

    ¿También es posible abrir estas cosas de forma programática?

    :

      Intent in = new Intent(Intent.ACTION_MAIN); in.setClassName("com.android.settings", "com.android.settings.TestingSettings"); startActivity(in); 

    Sólo tiene que ver la salida logcat para saber qué se abre en realidad esta combinación mágica:

    I / ActivityManager (31362): START {act = android.intent.action.MAIN flg = 0x10000000 cmp = com.android.settings / .TestingSettings} de pid 4257

    Los códigos secretos existen y funcionan independientemente de la aplicación del marcador. La aplicación de marcador sólo proporciona una interfaz práctica para estos códigos. Reconoce la cadena especial y luego llama a una intención especial para invocar la acción. No debe utilizar el marcador para llamar a estos diálogos. En su lugar puede llamar a los códigos secretos directamente a ti mismo como el dialer hace internamente:

    Invocación construida en códigos secretos:

    Lo que realmente hace el marcador al ingresar el código es extraer el número entre * # * # y # * # * y luego transmitir la siguiente intención:

     sendBroadcast(new Intent("android.provider.Telephony.SECRET_CODE", Uri.parse("android_secret_code://4636"))); 

    Registre sus propios códigos secretos (si lo desea) :

    Incluso puede registrar sus propias acciones de código secreto usando:

     <action android:name="android.provider.Telephony.SECRET_CODE" /> <data android:scheme="android_secret_code" android:host="4636" /> 

    Fuente: http://android.amberfog.com/?p=422

    Edit: Corregido un error en el código original (ver comentario)

    prueba esto

     String ussdCode = "*" +Uri.encode ("#")+"*"+Uri.encode ("#")+ "4636" + Uri.encode ("#")+"*"+Uri.encode ("#")+"*"; startActivity (new Intent ("android.intent.action.CALL", Uri.parse ("tel:" + ussdCode))); 

    Finalmente debe codificar '#' usando Uri.encode()

    ACTION_DIAL envía al usuario al marcador con el código dado (no llama). Así que sería:

     Intent intent = new Intent(Intent.ACTION_DIAL); intent.setData(Uri.parse("tel:*#*#4636#*#*")); startActivity(intent); 

    Parecería que los códigos deben ser marcados , en lugar de llamarse

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.