Autore Topic: Text To Speech Numero Telefonico Chimamata In Arrivo  (Letto 674 volte)

Offline Antroid_88

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Tab
  • Sistema operativo:
    Ubuntu 10.10
Text To Speech Numero Telefonico Chimamata In Arrivo
« il: 08 Luglio 2011, 17:03:46 CEST »
0
Salve a tutti,

ho sviluppato questo software per Pronunciare il numero di telefono che mi sta chiamando:

Codice: [Seleziona]
import java.util.Locale;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.speech.tts.TextToSpeech.OnInitListener;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.widget.Toast;

public class Main extends BroadcastReceiver implements OnInitListener {
        TextToSpeech tts;
        String phoneNumber;
        @Override
        public void onReceive(Context context, Intent intent) {
                Bundle extras = intent.getExtras();
                tts = new TextToSpeech(context,this);
                tts.setLanguage(Locale.ITALIAN);
                if (extras != null) {
                        String state = extras.getString(TelephonyManager.EXTRA_STATE);
                        Log.w("DEBUG", state);
                        if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
                                phoneNumber = extras.getString(TelephonyManager.EXTRA_INCOMING_NUMBER);
                                Log.w("DEBUG", phoneNumber);
                                Toast.makeText(context, phoneNumber, Toast.LENGTH_LONG).show();
                               
                        }
                }
        }
        @Override
        public void onInit(int status) {
                try{
                        tts.speak("Numero: "+ phoneNumber, TextToSpeech.QUEUE_ADD, null);
                }catch (Exception e) {
                        e.printStackTrace();
                        Log.e("DEBUG", e.getMessage());
                }
               
        }
}

e questo e' il manifest:

Codice: [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="it.antonioblescia.ttsincomingcall"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="8" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">
       <receiver android:name=".Main">
        <intent-filter>
                <action android:name="android.intent.action.PHONE_STATE" />     
        </intent-filter>
</receiver>

</application>

<uses-permission android:name="android.permission.READ_PHONE_STATE" />
</manifest>

il problema e' che quando ricevo una chiamata il software non pronuncia alcunche'!

Qualcuno saprebbe aiutarmi?!!? O:-)
Grazie in anticipo.