- Posts del Foro: 1
1 ago. 2014 5:27:16 vía Web
1 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