|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
  AutoIt (Programación) Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  Teleco - Emisora de A.M. Visual Basic Cosas de Windows Webs interesantes
T Búsqueda en este sitio:


.

B4A en español - Juan Antonio Villalpando
(BASIC4Android)

-- Tutorial de B4A --

Volver al índice del tutorial

____________________________

55B.- Secret code. Código secreto.

- En el tutorial anterior vimos los Intent, esto es una llamada a otra aplicación, es decir desde una aplicación podemos lanzar, ejecutar otra e insertarle valores.

- También en otro tutorial vimos los Secret Code, estos son códigos de la forma:

*#06# (al escribir esto en el teléfono me muestra el IMEI del móvil.)

*#*#4636#*# (al escribir esto en el teléfono me muestra el estado de la batería y otras configuraciones.)

*#*#7378423#*#* (al escribir esto en el teléfono obtenemos programas de configuración.)

que se escriben como si fueran número de teléfono, es decir en el teléfono, y nos ejecuta un programa del móvil, normalmente son programas de configuración.

- Vamos a trabajar con esos dos conceptos: el intent y los códigos secretos.

_____________________________________________________________

1.- Dónde obtengo esos Secret Codes.

- En el tutorial tiene algunos.
- Busca en Internet "Secret Codes" android y "engineering mode" android

2.- ¿Las Tablets también tienen Secret Codes?

- Sí.

3.- ¿Cómo puedo ver los Secret Codes de mi móvil y de mi Tablet?

- Ahora te lo digo.

4.- ¿Cómo puedo poner los Secret Codes de mi Tablet, si no tiene teléfono para escribirlos.?

- Tanto si tienes teléfono móvil como para Tablet, entra en la Play de Google y bájate este programita:

Secret Codes: https://play.google.com/store/apps/details?id=fr.simon.marquis.secretcodes&hl=es

podrás ver los Secret Codes de tu móvil o tablet y ejecutarlos.
Para buscar los Secret Codes, pulsa la varita gris.

Te saldrá aplicaciones que tienen Secret Code, pulsa y arranca esas aplicaciones. Sirve tanto para móviles como para tablets.

5.- ¿Puedo hacer un programa que me arranque con un Secret Code propio?

- Sí, de esto trata este tutorial. Vamos a realizar un programa y arrancarlo escribiendo un Secret Code en el teléfono del móvil, en caso que tengas una tablet, te bajas el programa anterior "Secret Code" de la Play y lo ejecutas desde ahí.

_________________________________________________
_________________________________________________
1.- Lanzar un mensaje desde un Secret Code.

1.- Nociones básicas

- Vamos a crear una aplicación de manera que al escribir un Secret Code, arranque otra.

- Hay dos maneras de hacer esto mediante Intent, una se llama dinámica y otra estática.

- La forma dinámica consiste en ejecutar un Servicio que estaría a la expectativa que otro programa lo llamara y realizar alguna actividad. En este caso el Servicio debería estar ejecutándose. Esto lo vimos en el tutorial anterior.

- La forma estática, es la que vamos a ver ahora. No hace falta que el Servicio se esté ejecutando, en nuestro caso escribiremos un Secret Code, este Secret Code irá a la aplicación que contiene el Servicio (que en ese momento no se está ejecutando) y ese Servicio arrancará a otra aplicación.

Esto lo puedes ver con más detenimiento en el tutorial del foro de B4A. Lo vamos hacer más simple.

- Vamos a necesitar una aplicación con un Servicio y modificar el archivo AndroidManifest.xml

- El Archivo AndroidManifest.xml, se encuentra en la carpeta Objects de la aplicación que estás realizando. Este archivo contiene, digamos, la configuración inicial de la aplicación, es decir el nombre, el lugar donde está el icono, posición horizontal, vertical, los permisos,...
Cada aplicación tiene su AndroidManifest.xml. A veces este archivo está como de "Solo lectura", mediante Windows, botón derecho en el archivo, Propiedades, puedes cambiar para que sea modificable.

- Si cambias el contenido de este archivo mediante un Editor de texto y luego vas al B4A y ejecutas la aplicación, B4A, modificará, sobreescribirá los cambios que hayas hecho con tu Editor de texto. Para que B4A no modifique los cambios que haces con tu Editor de texto, vas al menú de B4A, Project, y marcas: Do Not Overwrite Manifest File, de esta manera B4A no sobreescribirá la modificación que has realizado con tu Editor de texto. De todos modos, lo normal es modificar el AndroidManifest.xml con el Manifest Editor que viene en el menú, en Project.

- Dejaremos desmarcado el Do Not Overwrite Manifest File y trabajaremos con el Manifest Editor de B4A.
- Podemos echarle un vistazo al AndroidManifest.xml con un Editor de texto, se recomienda este Editor de texto:
Notepad ++, bájalo es recomendable utilizarlo.

2.- Comenzamos

- Pretendemos que al escribir un Secret Code: 123456. simplemente salga este mensaje: "Hola, soy Juan Antonio".

- Vamos al B4A y creamos una nueva aplicación, la he llamado intent_numero_secreto.

- Creamos un Servicio en nuestra aplicación, para ello vamos a Project / Add New Module / Service Module

- Lo llamamos: lanzarse

- En el Servico lanzarse escribimos lo siguente:

lanzarse
#Region  Service Attributes 
    #StartAtBoot: False
#End Region
Sub Process_Globals

End Sub
Sub Service_Create        
 
End Sub
Sub Service_Start (StartingIntent As Intent)

   ToastMessageShow("Hola, soy Juan Antonio.",False) 
  
End Sub
Sub Service_Destroy End Sub

- El archivo Main, no lo modificamos.

- Luego vamos a su Manifest Editor y pegamos este código al final del texto ya existente.

Project / Manifest Editor

Project / Manifest Editor
AddReceiverText(lanzarse, 
<intent-filter>
    <action android:name="android.provider.Telephony.SECRET_CODE" />
    <data android:scheme="android_secret_code" android:host="123456" />
</intent-filter>)

- Si consultamos el AndroidManifest.xml con el Editor de textos Notepad ++ veremos que se han añadido las líneas referentes al lanzarse.

AndroidManifest,xml
<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="b4a.example"
    android:versionCode="1"
    android:versionName=""
    android:installLocation="internalOnly">
    
    <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="14"/>
    <supports-screens android:largeScreens="true" 
        android:normalScreens="true" 
        android:smallScreens="true" 
        android:anyDensity="true"/>
    <application
        android:icon="@drawable/icon"
        android:label="Intent Números secretos">
        <activity
            android:windowSoftInputMode="stateHidden"
            android:launchMode="singleTop"
            android:name=".main"
            android:label="Intent Números secretos"
            android:screenOrientation="unspecified">
            <intent-filter>
               <action android:name="android.intent.action.MAIN" />
               <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            
        </activity>
        <service android:name=".lanzarse">
        </service>
        <receiver android:name=".lanzarse$lanzarse_BR">
            
            <intent-filter>
                <action android:name="android.provider.Telephony.SECRET_CODE" />
                <data android:scheme="android_secret_code" android:host="123456" />
            </intent-filter>
        </receiver>
    </application>
</manifest>

 

3.- Pues ya está, vamos a verlo.

- Guardamos nuestra aplicación: intent_numero_secreto, la pasamos al móvil.
- Ya está, no hace falta ejecutarla en el móvil, solo con tenerla instalada ya nos vale.

- Podemos ir al programa que vimos anteriormente, el "Secret Code" que bajamos de la Play y ver que ahí está nuestro código secreto: 123456.

- Lo pulsamos en 123456 y debe salir un mensaje emergente de "Hola, soy Juan Antonio"

- Si tienes un teléfono móvil, pulsas en el teléfono y escribes: *#*#123456#*#* y también te saldrá en mensaje.

_________________________________________________
_________________________________________________
2.- Lanzar una aplicación desde un Secret Code.

- Bien, pues ahora vamos a lanzar un mensaje y la aplicación. Continuamos con nuestro mismo programita: intent_numero_secreto

- Volvemos al Servicio lanzarse y lo modificamos de esta manera:

lanzarse
#Region  Service Attributes 
    #StartAtBoot: False
#End Region
Sub Process_Globals

End Sub
Sub Service_Create        
 
End Sub
Sub Service_Start (StartingIntent As Intent)

   ToastMessageShow("Hola, soy Juan Antonio.",False) 
   Dim intent1 As Intent
   intent1.Initialize(intent1.ACTION_MAIN,"") 
   intent1.SetComponent("com.intent_numero_secreto/.main")
   StartActivity(intent1)
  
End Sub
Sub Service_Destroy
      

- Observamos que además de lanzar el mensaje de "Juan Antonio", iniciará la aplicación "com.intent_numero_secreto"

que será nuestra misma aplicación.

- Debes cambiar el nombre del Paquete de la aplicación, para ello vamos a Project / Package Name y ponemos:
com.intent_numero_secreto

- El Package Name, indica cómo se llama el paquete que contiene la aplicación.

- ("com.intent_numero_secreto/.main") El .main, indica que comienza en la Activity Main.

- Ahora en nuestra aplicación, vamos al Activity Main y escribimos y pegamos los siguiente...

Main, código de nuestro programa
#Region  Project Attributes 
    #ApplicationLabel: Intent Números secretos
    #VersionCode: 1
    #VersionName: 
    'SupportedOrientations possible values: unspecified, landscape or portrait.
    #SupportedOrientations: unspecified
    #CanInstallToExternalStorage: False
#End Region

#Region  Activity Attributes 
    #FullScreen: False
    #IncludeTitle: True
#End Region

Sub Process_Globals

' Juan Antonio Villalpando
' juana1991@yahoo.com

' Enero 2015
End Sub

Sub Globals
Dim boton As Button
End Sub

Sub Activity_Create(FirstTime As Boolean)
    ToastMessageShow("¡¡¡BIENVENIDO JUAN ANTONIO!!!",False) 
    ' Crea Botón (Button)
    boton.Initialize("boton")
    boton.TextColor = Colors.Red
    boton.Text = "Pulsa"
    Activity.AddView(boton, 0dip, 10dip, 100%x, 10%y)

End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub boton_Click
   ToastMessageShow("¡¡¡ LO CONSEGUISTES !!!",False) 
End Sub

- Nuestra aplicación consta solamente de un botón que cuando lo pulsamos presentea un mensaje.

- En resumidas cuentas, nuestra aplicación consta de un Activity llamado Main y un Módulo de Servicio llamado lanzarse, y puede ejecutarse desde un Secret Code.

- A veces tarda en responder unos segundos.

- Esto nos puede valer para tener instalada en nuestro móvil aplicaciones que solo nosotros lo sabemos, y para ejecutarlas debemos poner el código secreto.

Bueno, he intentado explicarlo lo más sencillamente, espero que se hayas entendido.

________________________________

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información