Problema con TTS y BroadcastReceiver

  • Respuestas:0
  • AbiertoSin chinchetaSin solución
  • Posts del Foro: 1

01-ago-2014 5:27:16 vía Web

Este es mi achivo receiver el cual se encarga de recibir los mensajes del celular
package com.talkvoice;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.widget.Toast;

public class Receiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent arg1) {
    // TODO Auto-generated method stub
    Bundle b = arg1.getExtras();
    SmsMessage[] mensajes = null;
    String cadena = "";


    if(b != null)
    {
        //Devolver los mensajes SMS
        Object[] objetos = (Object[])b.get("pdus");
        mensajes = new SmsMessage[objetos.length];

        for(int i=0;i<mensajes.length;i++){
            mensajes[i] = SmsMessage.createFromPdu((byte[])objetos[i]);

            //Cadena de muestra de mensaje
            cadena += "SMS de " + mensajes[i].getOriginatingAddress();
            cadena += "Compuesto por...";
            cadena += mensajes[i].getMessageBody().toString();
            cadena += "\n";   
        }
        Toast.makeText(context, cadena, Toast.LENGTH_LONG).show();
        hablar habla = new hablar();
        habla.speakSMS(cadena);
    }

 }

y esta es la clase hablar la cual se manda a llamar para el uso de lectura del mensaje por audio.

package com.talkvoice;

import android.app.Activity;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;

public class hablar extends Activity {

private static TextToSpeech myTts;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    myTts = new TextToSpeech(this, ttsInitListener);
    }
    private TextToSpeech.OnInitListener ttsInitListener = new TextToSpeech.OnInitListener() {
    public void onInit(int version) {
    }
    };

    public void speakSMS(String sms)
    {
        myTts.speak( sms, TextToSpeech.QUEUE_FLUSH, null );
    }

}

Espero puedan ayudarme es super importante el problema es que cuando lo ejecuto y me llega un mensaje se me detiene la app