[APP] [2.2+] Voice for Notifications (Sony Smartwatch compatible)

Search This thread

pacosal

Senior Member
Oct 6, 2010
801
299
www.pacosal.com
This App will read by voice the notifications you want to hear.

b7b97xtfv-tLAmABTkXkmg93Rlrn0Vjyl5_aXQiHCj3259DMK9guL5DwPsgQhZRyTw


mQJDx8ccXrUe5FgbbNjdpnA2zdzWweGarX635zIL42FBE97mq1PHJuxqeetUqMM3yg


Ready for this App notifications:

- Gmail
- WhatsApp
- Line
- SpotBros
- Viber
and the other you want. When a notification from a new App is read, this App will ask you to read this kind of notifications that you can allow or deny. This notifications are shown at menu / notifications where you can delete them.

You can use Tasker or other App in order to enable or disable Voice for Notifications creating a Intent Broadcast Task with this actions:

com.pacosal.acc.action.ON
com.pacosal.acc.action.OFF

You can enable or disable this App with a widget.

Requirements:

- TTS installed
- Internet connection
- Enable this App at Accessibility settings

DOWNLOAD FROM GOOGLE PLAY

Please, enjoy this App and give feedback.

THANKS
 
Last edited:
Feb 26, 2013
36
76
Creo que entiendes español, así que te dejo mi feedback en español xD.

Bueno, lo primero decir que éste es mi punto de vista como desarrollador:
  1. No maneja bien muchas notificaciones. Parece que para cada aplicación utiliza un método diferente (y no uno estándar que extraiga todo lo que tenga texto), porque cuando se trata de una aplicación que no está en la lista, solo aparece una entrada con el texto "Notificación".
  2. Al hacer scroll de las notificaciones, el fondo se pone blanco. Eso se debe a que solo tiene definido un fondo uno de los elementos (o el que contiene las notificaciones, o las propias notificaciones), de forma que, al hacer scroll, se pone el fondo blanco. Échale un ojo y ponles el mismo fondo ;).
  3. Cuando inicias la aplicación por primera vez, te salta el Toast diciendo que tienes que activarlo. Sería mejor mostrar un mensaje de notificación que te dijera que no está activado, y que haya un botón para Activar que te abra la configuración de Accesibilidad:

    Code:
    ///ESTO VA EN EL BOTON DEL DIALOGO PARA ACTIVAR EL SERVICIO
    Intent intent = new Intent(android.provider.Settings.ACTION_ACCESSIBILITY_SETTINGS);
    startActivityForResult(intent, 0);
    
    // CON ESTO ESPERAMOS AL RESULTADO DE INICIAR LA CONFIGURACION DE ACCESIBILIDAD
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    	boolean isServiceEnabled = isAccessibilityServiceEnabled(); // Comprueba si está activado el servicio
    	//Trabaja con el resultado
    	}
    }
    
    /* ESTA FUNCION BUSCA SI NUESTRO SERVICIO ESTA ACTIVADO. TIENES QUE CAMBIAR EL VALOR DE MAS ABAJO, DONDE PONE "NOMBRE_DE_LA_CLASE_QUE_TENGA_EL_SERVICIO" POR EL NOMBRE QUE UTILICES COMO SERVICIO 
    Ejemplo: com.traber.notificationpopup.pro/com.traber.notificationpopup.pro.NotificationListener - Tomado de un programa mio*/
    public boolean isAccessibilityServiceEnabled(){
    	int accessibilityEnabled = 0;
    	boolean accessibilityFound = false;
    	try {
    		accessibilityEnabled = Settings.Secure.getInt(this.getContentResolver(),android.provider.Settings.Secure.ACCESSIBILITY_ENABLED);
    	} catch (SettingNotFoundException e) {
    	}
    
    	TextUtils.SimpleStringSplitter mStringColonSplitter = new TextUtils.SimpleStringSplitter(':');
    	if (accessibilityEnabled==1){
    		 String settingValue = Settings.Secure.getString(getContentResolver(), Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES);
    		 if (settingValue != null) {
    			 TextUtils.SimpleStringSplitter splitter = mStringColonSplitter;
    			 splitter.setString(settingValue);
    			 while (splitter.hasNext()) {
    				 String accessabilityService = splitter.next();
    				 if (accessabilityService.equalsIgnoreCase("com.pacosal.accnew/com.pacosal.accnew.NOMBRE_DE_LA_CLASE_QUE_TENGA_EL_SERVICIO")){
    					 return true;
    				 }
    			 }
    		 }
    	}
    	else{
    	}
    	return accessibilityFound;
    }

Y ahora, como usuario:
  1. Cuando aparece una notificación, se abre la ventana de la aplicación. Eso no gusta, porque si por casualidad ocurre un evento mientras estás jugando a algo o ejecutando una aplicación a pantalla completa, interrumpes la partida, y muchas veces, al volver, la aplicación o el juego se ejecuta desde el principio.
  2. Cuando se dan varios eventos seguidos, si cierras la aplicación con las notificaciones, ésta se vuelve a abrir al poco (obviamente, recibe dos eventos, se tendrá que abrir dos veces). Es incómodo, porque parece que no puedes salir de la aplicación.
  3. Aun no se puede interactuar con las notificaciones más allá de hacer click para iniciar la aplicación que creó dicha notificación, estaría bien poder borrar alguna :p
  4. Me ha gustado mucho el detalle de que, cuando aparece una notificación de un nuevo programa (cuando estás esperando notificaciones de todos los programas) te pregunte si quieres monitorizar las notificaciones de ese programa.
  5. Una idea: Estaría bien que, si la pantalla está apagada, esperara a que la pantalla se encendiera para leer las notificaciones. Obviamente, a elección del usuario a través de la configuración, algo así como "Leer automáticamente" o "Leer al activar la pantalla" :D
Y hasta aquí mi feedback ;)

Como concepto, la aplicación tiene muy buena pinta, de hecho estaba pensando en hacer algo parecido hasta hace bien poco, pero hice algo diferente :p, concretamente esto: http://xdaforums.com/showthread.php?p=38572601

Ánimo, si necesitas algo aquí estaré :D

Un saludo
 

pacosal

Senior Member
Oct 6, 2010
801
299
www.pacosal.com
Creo que entiendes español, así que te dejo mi feedback en español xD.

Bueno, lo primero decir que éste es mi punto de vista como desarrollador:
  1. No maneja bien muchas notificaciones. Parece que para cada aplicación utiliza un método diferente (y no uno estándar que extraiga todo lo que tenga texto), porque cuando se trata de una aplicación que no está en la lista, solo aparece una entrada con el texto "Notificación".
  2. Al hacer scroll de las notificaciones, el fondo se pone blanco. Eso se debe a que solo tiene definido un fondo uno de los elementos (o el que contiene las notificaciones, o las propias notificaciones), de forma que, al hacer scroll, se pone el fondo blanco. Échale un ojo y ponles el mismo fondo ;).
  3. Cuando inicias la aplicación por primera vez, te salta el Toast diciendo que tienes que activarlo. Sería mejor mostrar un mensaje de notificación que te dijera que no está activado, y que haya un botón para Activar que te abra la configuración de Accesibilidad:

    Code:
    ///ESTO VA EN EL BOTON DEL DIALOGO PARA ACTIVAR EL SERVICIO
    Intent intent = new Intent(android.provider.Settings.ACTION_ACCESSIBILITY_SETTINGS);
    startActivityForResult(intent, 0);
    
    // CON ESTO ESPERAMOS AL RESULTADO DE INICIAR LA CONFIGURACION DE ACCESIBILIDAD
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    	boolean isServiceEnabled = isAccessibilityServiceEnabled(); // Comprueba si está activado el servicio
    	//Trabaja con el resultado
    	}
    }
    
    /* ESTA FUNCION BUSCA SI NUESTRO SERVICIO ESTA ACTIVADO. TIENES QUE CAMBIAR EL VALOR DE MAS ABAJO, DONDE PONE "NOMBRE_DE_LA_CLASE_QUE_TENGA_EL_SERVICIO" POR EL NOMBRE QUE UTILICES COMO SERVICIO 
    Ejemplo: com.traber.notificationpopup.pro/com.traber.notificationpopup.pro.NotificationListener - Tomado de un programa mio*/
    public boolean isAccessibilityServiceEnabled(){
    	int accessibilityEnabled = 0;
    	boolean accessibilityFound = false;
    	try {
    		accessibilityEnabled = Settings.Secure.getInt(this.getContentResolver(),android.provider.Settings.Secure.ACCESSIBILITY_ENABLED);
    	} catch (SettingNotFoundException e) {
    	}
    
    	TextUtils.SimpleStringSplitter mStringColonSplitter = new TextUtils.SimpleStringSplitter(':');
    	if (accessibilityEnabled==1){
    		 String settingValue = Settings.Secure.getString(getContentResolver(), Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES);
    		 if (settingValue != null) {
    			 TextUtils.SimpleStringSplitter splitter = mStringColonSplitter;
    			 splitter.setString(settingValue);
    			 while (splitter.hasNext()) {
    				 String accessabilityService = splitter.next();
    				 if (accessabilityService.equalsIgnoreCase("com.pacosal.accnew/com.pacosal.accnew.NOMBRE_DE_LA_CLASE_QUE_TENGA_EL_SERVICIO")){
    					 return true;
    				 }
    			 }
    		 }
    	}
    	else{
    	}
    	return accessibilityFound;
    }

Y ahora, como usuario:
  1. Cuando aparece una notificación, se abre la ventana de la aplicación. Eso no gusta, porque si por casualidad ocurre un evento mientras estás jugando a algo o ejecutando una aplicación a pantalla completa, interrumpes la partida, y muchas veces, al volver, la aplicación o el juego se ejecuta desde el principio.
  2. Cuando se dan varios eventos seguidos, si cierras la aplicación con las notificaciones, ésta se vuelve a abrir al poco (obviamente, recibe dos eventos, se tendrá que abrir dos veces). Es incómodo, porque parece que no puedes salir de la aplicación.
  3. Aun no se puede interactuar con las notificaciones más allá de hacer click para iniciar la aplicación que creó dicha notificación, estaría bien poder borrar alguna :p
  4. Me ha gustado mucho el detalle de que, cuando aparece una notificación de un nuevo programa (cuando estás esperando notificaciones de todos los programas) te pregunte si quieres monitorizar las notificaciones de ese programa.
  5. Una idea: Estaría bien que, si la pantalla está apagada, esperara a que la pantalla se encendiera para leer las notificaciones. Obviamente, a elección del usuario a través de la configuración, algo así como "Leer automáticamente" o "Leer al activar la pantalla" :D
Y hasta aquí mi feedback ;)

Como concepto, la aplicación tiene muy buena pinta, de hecho estaba pensando en hacer algo parecido hasta hace bien poco, pero hice algo diferente :p, concretamente esto: http://xdaforums.com/showthread.php?p=38572601

Ánimo, si necesitas algo aquí estaré :D

Un saludo

Muchas Gracias por la info. Intento no escribir en castellano porque es un foro en ingles.

Con respecto a tus comentarios, la mayor parte son buenas ideas y me dan pie a continuar su desarrollo. Con respecto a que lance los settings de Accesibilidad al inicio, lo hace, pero solo funciona con ICS en adelante, probaré tu código para ver si es más completo.

Gracias de nuevo, como desarrollador y como usuario ;)
 

pacosal

Senior Member
Oct 6, 2010
801
299
www.pacosal.com
Version 1.1.0 out!

- Bug not showing notification message for others Apps, Fixed
- Now the App will show you the name of the App that launch the notification
- Now can tap on any colored item to open the App
 
Feb 26, 2013
36
76
Re: [APP] [2.2+] Voice for Notifications

Yes, i tried, you did it great! =)
Now is working fine with any notification :)

Sent from my SK17i using xda app-developers app
 

pacosal

Senior Member
Oct 6, 2010
801
299
www.pacosal.com
Version 1.5.0 out!

- New feature: If your device is with screen on, the App will show you a banner with the content of the notification for 3 secs.
 

pacosal

Senior Member
Oct 6, 2010
801
299
www.pacosal.com
Version 2.8.0 out!

- Preferences Interface improved
- Option to enable or disable read notifications with screen on
- Option to enable or disable switch screen on
 

Top Liked Posts

  • There are no posts matching your filters.
  • 8
    This App will read by voice the notifications you want to hear.

    b7b97xtfv-tLAmABTkXkmg93Rlrn0Vjyl5_aXQiHCj3259DMK9guL5DwPsgQhZRyTw


    mQJDx8ccXrUe5FgbbNjdpnA2zdzWweGarX635zIL42FBE97mq1PHJuxqeetUqMM3yg


    Ready for this App notifications:

    - Gmail
    - WhatsApp
    - Line
    - SpotBros
    - Viber
    and the other you want. When a notification from a new App is read, this App will ask you to read this kind of notifications that you can allow or deny. This notifications are shown at menu / notifications where you can delete them.

    You can use Tasker or other App in order to enable or disable Voice for Notifications creating a Intent Broadcast Task with this actions:

    com.pacosal.acc.action.ON
    com.pacosal.acc.action.OFF

    You can enable or disable this App with a widget.

    Requirements:

    - TTS installed
    - Internet connection
    - Enable this App at Accessibility settings

    DOWNLOAD FROM GOOGLE PLAY

    Please, enjoy this App and give feedback.

    THANKS
    2
    Next version will have:

    - A switch "read only with headphones pluged in"
    - Voice should be tied to the ringer volume. When phone is silent, it shouldn't read out the notification.

    from Google Play comments
    1
    Creo que entiendes español, así que te dejo mi feedback en español xD.

    Bueno, lo primero decir que éste es mi punto de vista como desarrollador:
    1. No maneja bien muchas notificaciones. Parece que para cada aplicación utiliza un método diferente (y no uno estándar que extraiga todo lo que tenga texto), porque cuando se trata de una aplicación que no está en la lista, solo aparece una entrada con el texto "Notificación".
    2. Al hacer scroll de las notificaciones, el fondo se pone blanco. Eso se debe a que solo tiene definido un fondo uno de los elementos (o el que contiene las notificaciones, o las propias notificaciones), de forma que, al hacer scroll, se pone el fondo blanco. Échale un ojo y ponles el mismo fondo ;).
    3. Cuando inicias la aplicación por primera vez, te salta el Toast diciendo que tienes que activarlo. Sería mejor mostrar un mensaje de notificación que te dijera que no está activado, y que haya un botón para Activar que te abra la configuración de Accesibilidad:

      Code:
      ///ESTO VA EN EL BOTON DEL DIALOGO PARA ACTIVAR EL SERVICIO
      Intent intent = new Intent(android.provider.Settings.ACTION_ACCESSIBILITY_SETTINGS);
      startActivityForResult(intent, 0);
      
      // CON ESTO ESPERAMOS AL RESULTADO DE INICIAR LA CONFIGURACION DE ACCESIBILIDAD
      @Override
      protected void onActivityResult(int requestCode, int resultCode, Intent data) {
      	boolean isServiceEnabled = isAccessibilityServiceEnabled(); // Comprueba si está activado el servicio
      	//Trabaja con el resultado
      	}
      }
      
      /* ESTA FUNCION BUSCA SI NUESTRO SERVICIO ESTA ACTIVADO. TIENES QUE CAMBIAR EL VALOR DE MAS ABAJO, DONDE PONE "NOMBRE_DE_LA_CLASE_QUE_TENGA_EL_SERVICIO" POR EL NOMBRE QUE UTILICES COMO SERVICIO 
      Ejemplo: com.traber.notificationpopup.pro/com.traber.notificationpopup.pro.NotificationListener - Tomado de un programa mio*/
      public boolean isAccessibilityServiceEnabled(){
      	int accessibilityEnabled = 0;
      	boolean accessibilityFound = false;
      	try {
      		accessibilityEnabled = Settings.Secure.getInt(this.getContentResolver(),android.provider.Settings.Secure.ACCESSIBILITY_ENABLED);
      	} catch (SettingNotFoundException e) {
      	}
      
      	TextUtils.SimpleStringSplitter mStringColonSplitter = new TextUtils.SimpleStringSplitter(':');
      	if (accessibilityEnabled==1){
      		 String settingValue = Settings.Secure.getString(getContentResolver(), Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES);
      		 if (settingValue != null) {
      			 TextUtils.SimpleStringSplitter splitter = mStringColonSplitter;
      			 splitter.setString(settingValue);
      			 while (splitter.hasNext()) {
      				 String accessabilityService = splitter.next();
      				 if (accessabilityService.equalsIgnoreCase("com.pacosal.accnew/com.pacosal.accnew.NOMBRE_DE_LA_CLASE_QUE_TENGA_EL_SERVICIO")){
      					 return true;
      				 }
      			 }
      		 }
      	}
      	else{
      	}
      	return accessibilityFound;
      }

    Y ahora, como usuario:
    1. Cuando aparece una notificación, se abre la ventana de la aplicación. Eso no gusta, porque si por casualidad ocurre un evento mientras estás jugando a algo o ejecutando una aplicación a pantalla completa, interrumpes la partida, y muchas veces, al volver, la aplicación o el juego se ejecuta desde el principio.
    2. Cuando se dan varios eventos seguidos, si cierras la aplicación con las notificaciones, ésta se vuelve a abrir al poco (obviamente, recibe dos eventos, se tendrá que abrir dos veces). Es incómodo, porque parece que no puedes salir de la aplicación.
    3. Aun no se puede interactuar con las notificaciones más allá de hacer click para iniciar la aplicación que creó dicha notificación, estaría bien poder borrar alguna :p
    4. Me ha gustado mucho el detalle de que, cuando aparece una notificación de un nuevo programa (cuando estás esperando notificaciones de todos los programas) te pregunte si quieres monitorizar las notificaciones de ese programa.
    5. Una idea: Estaría bien que, si la pantalla está apagada, esperara a que la pantalla se encendiera para leer las notificaciones. Obviamente, a elección del usuario a través de la configuración, algo así como "Leer automáticamente" o "Leer al activar la pantalla" :D
    Y hasta aquí mi feedback ;)

    Como concepto, la aplicación tiene muy buena pinta, de hecho estaba pensando en hacer algo parecido hasta hace bien poco, pero hice algo diferente :p, concretamente esto: http://xdaforums.com/showthread.php?p=38572601

    Ánimo, si necesitas algo aquí estaré :D

    Un saludo

    Please post in English as well (use a machine translation if you cannot translate this yourself). It is part of the rules ;)