JavascriptProva

mercoledì 15 giugno 2016

Service con TTS innescato da un AlarmManager: voce che ripete a intervalli predeterminati una frase.

Adesso metto un TTS nel Service.
Così ripasso anche la sintassi.

L'ho messo nel Service in questo modo:
public class Servizio extends Service{

 TextToSpeech tts;
 @Override
 public void onCreate(){
  super.onCreate();
   tts=new TextToSpeech(this, new TextToSpeech.OnInitListener() {
    
   @Override
   public void onInit(int status) {
    if(status==TextToSpeech.SUCCESS){
     int result=tts.setLanguage(Locale.ITALIAN);
    }
    
   }
  });
 }

 @Override
 public int onStartCommand(Intent intent, int flags, int startUI){
  tts.speak("Antonello è il più grandioso programmatore dilettante del mondo", TextToSpeech.QUEUE_FLUSH, null);
  return Service.START_STICKY;
  
 }
 @Override
 public IBinder onBind(Intent intent) {
  return null;
 } 
}


e nel MainActivity:
public class MainActivity extends Activity {

 Button button;
 PendingIntent pendingIntent;
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  

   
  
  
  
  AlarmManager alarmManager=(AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
  Intent intent=new Intent(this,Servizio.class);
  pendingIntent=PendingIntent.getService(this,0,intent,0);
  
  alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
          5*1000,
          5*1000, 
          pendingIntent);
      
  
 }
}
E funziona!

Nessun commento:

Posta un commento