Skip to content

Latest commit

 

History

History
executable file
·
111 lines (79 loc) · 3.29 KB

README.es.md

File metadata and controls

executable file
·
111 lines (79 loc) · 3.29 KB

Librería MANEJO USSD

Platform API License Bintray Jitpack

by Romell Dominguez

Objetivo:

Para manejar la comunicación ussd, hay que tener presente que la interfaz depende del SO y del fabricante.

USSD LIBRARY

latestVersion is 1.0.b

Agregar en tu archivo build.gradle del proyecto Android:

repositories {
    jcenter()
}
dependencies {
    compile 'com.romellfudi.ussdlibrary:ussd-library:{latestVersion}'
}

Construir una clase que extienda de los servicios de accesibilidad:

image

En ella capturara la información de la pantalla USSD con el SO la visualice, para ello existen 2 maneras:

  • via código:

image

  • via xml, el cual deberas vincular en el manifest de tu aplicación:
<?xml version="1.0" encoding="utf-8"?>
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
    android:accessibilityEventTypes
        ="typeWindowStateChanged"
    android:packageNames="com.android.phone"
    android:accessibilityFeedbackType="feedbackGeneric"
    android:accessibilityFlags="flagDefault"
    android:canRetrieveWindowContent="true"
    android:description="@string/accessibility_service_description"
    android:notificationTimeout="0"/>

Aplicación

Configuramos en el archivo build.gradle, la extensión para leer librerias *.aar (la cuál crearemos y exportaremos)

allprojects { repositories { ...
        flatDir { dirs 'libs' } } }

Configuramos la dependencia de la libraria ussdlibrary mediante los prefijs {debugCompile: llamar a módulo de la libreria, releaseCompile: llamar al empaquetado *.aar}

dependencies {
    ...
    //debugCompile project(':ussdlibrary')
    //releaseCompile(name: 'ussdlibrary-{latestVersion}', ext: 'aar')
    implementation 'com.romellfudi.ussdlibrary:ussd-library:{latestVersion}'
}

Teniendo importada las dependencias, en el manifest de la aplicación se debe escribir el servicio con los permisos necesarios

image

image

Uso de la línea voip

En esta sección dejo las líneas claves para realizar la conexión VOIP-USSD

ussdPhoneNumber = ussdPhoneNumber.replace("#", uri);
Uri uriPhone = Uri.parse("tel:" + ussdPhoneNumber);
context.startActivity(new Intent(Intent.ACTION_CALL, uriPhone));

Una vez inicializado la llamada el servidor telcom comenzará a enviar las famosas pantallas ussd

image

<style> img[src*='#center'] { width:400px; display: block; margin: auto; } img[src*='#gif'] { width:200px; display: block; margin: auto; } </style>