首页 新闻 会员 周边

Android 如何在收到短信的时候自动用中文朗读出来?

0
悬赏园豆:50 [已关闭问题] 关闭于 2017-08-29 10:52

RT  我想要在收到短信的时候实现自动朗读出来,我已经写了一个监听短信的类了,剩下的怎么做?

 1 //短信监听类
 2 
 3 import java.util.Locale;
 4 
 5 import android.content.BroadcastReceiver;
 6 import android.content.Context;
 7 import android.content.Intent;
 8 import android.speech.tts.TextToSpeech;
 9 import android.telephony.SmsMessage;
10 import android.util.Log;
11 import android.widget.Toast;
12 
13 public  class SmsReceiver extends BroadcastReceiver {
14     public String body;
15     public String sender;
16     private TextToSpeech mSpeech;
17 
18     @Override
19     public void onReceive(Context context, Intent intent) {
20         // TODO Auto-generated method stub
21         Toast.makeText(context, "短信到来", 1).show();
22         
23         Object[] pdus=(Object[]) intent.getExtras().get("pdus");
24         for(Object pdu:pdus){
25             SmsMessage smsMessage=SmsMessage.createFromPdu((byte[])pdu);
26             body=smsMessage.getMessageBody();
27             sender=smsMessage.getOriginatingAddress();
28             System.out.println("body:"+body);
29             System.out.println("sender:"+sender); 
30         }
31 
32     }
33 
34 }
MyCPlusPlus的主页 MyCPlusPlus | 初学一级 | 园豆:43
提问于:2014-05-19 11:12
< >
分享
所有回答(2)
0

andriod tts

迅捷网络[来送福利] | 园豆:576 (小虾三级) | 2014-05-19 11:15

这个我知道,我也实现了在EditText里输入并读出来的功能,但是我不知道怎么将这两个功能整合到一起

支持(0) 反对(0) MyCPlusPlus | 园豆:43 (初学一级) | 2014-05-19 11:17
0

自己已经解决了,用观察者模式,让Activity注册个观察者,当监听类发生变化时就可以通知Activity做出反应

MyCPlusPlus | 园豆:43 (初学一级) | 2014-05-20 10:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册