Skip to content

Commit

Permalink
change telcom and add spanish languages
Browse files Browse the repository at this point in the history
  • Loading branch information
romellfudi committed Jul 31, 2018
1 parent 7441aa6 commit c14f70c
Show file tree
Hide file tree
Showing 3 changed files with 107 additions and 16 deletions.
93 changes: 93 additions & 0 deletions README.es.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# Proyecto MANEJO USSD

### by Romell Dominguez
[![](snapshot/icono.png)](https://www.romellfudi.com/)

## Objetivo:

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

![](snapshot/device_recored.gif#gif)


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

## USSD LIBRARY

Construir una clase que extienda de los servicios de accesibilidad:

![image](snapshot/G.png#center)

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

* via código:

![image](snapshot/H.png#center)

* via xml, el cual deberas vincular en el manifest de tu aplicación:

```xml
<?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)

```gradle
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}

```gradle
dependencies {
...
debugCompile project(':ussdlibrary')
releaseCompile(name: 'ussdlibrary-1.0.a', ext: 'aar')
}
```


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

![image](snapshot/J.png#center)

![image](snapshot/F.png#center)

### Uso de la línea voip

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

```java
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](snapshot/telcom.png#center)
30 changes: 14 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Proyecto MANEJO USSD
# Handler USSD windows Project

### by Romell Dominguez
[![](snapshot/icono.png)](https://www.romellfudi.com/)

## Objetivo:
## Target Development:

<style>
img[src*='#center'] {
Expand All @@ -21,21 +21,21 @@ img[src*='#gif'] {
![](snapshot/device_recored.gif#gif)


Para manejar la comunicación ussd, hay que tener presente que la interfaz depende del SO y del fabricante.
To comunicate with ussd display, It is necessary to have present that the interface depends on the SO and on the manufacturer of Android device.

## USSD LIBRARY

Construir una clase que extienda de los servicios de accesibilidad:
Build a accessibility service class:

![image](snapshot/G.png#center)

En ella capturara la información de la pantalla USSD con el SO la visualice, para ello existen 2 maneras:
Capture information from USSD displaying windows, excist two ways:

* via código:
* Writting code:

![image](snapshot/H.png#center)

* via xml, el cual deberas vincular en el manifest de tu aplicación:
* Writting xml, this link manifest to SO:

```xml
<?xml version="1.0" encoding="utf-8"?>
Expand All @@ -51,43 +51,41 @@ En ella capturara la información de la pantalla USSD con el SO la visualice, pa
```


### Aplicación
### Application

Configuramos en el archivo build.gradle, la extensión para leer librerias *.aar (la cuál crearemos y exportaremos)
Configure build.gradle file, add exteension for run aar libraries(witch we build and export)

```gradle
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}
Configure ussd library dependencies on app module {debugCompile: attach library module, releaseCompile: import *.aar library}

```gradle
dependencies {
...
debugCompile project(':ussdlibrary')
releaseCompile(name: 'ussdlibrary-1.0.a', ext: 'aar')
}
```


Teniendo importada las dependencias, en el manifest de la aplicación se debe escribir el servicio con los permisos necesarios
Puts dependencies on manifest, into manifest put CALL_PHONE, READ_PHONE_STATE and SYSTEM_ALERT_WINDOW:

![image](snapshot/J.png#center)

![image](snapshot/F.png#center)

### Uso de la línea voip
### Use Voip line

En esta sección dejo las líneas claves para realizar la conexión VOIP-USSD
In this secction leave the lines to call to Telcom (ussd hadh number) for connected it:

```java
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***
Once initialized the call will begin to receive and send the **famous USSD windows**

![image](snapshot/telcom.png#center)
Binary file modified snapshot/telcom.png
100755 → 100644
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit c14f70c

Please sign in to comment.