Как я могу подключить пользователя обратно в свою деятельность после того, как я отослал его? - PullRequest
0 голосов
/ 26 февраля 2011

Мое приложение обнаружит, если у пользователя установлен движок TTS, если нет, я отключу все функции и дам ему кнопку, которую они могут нажать, чтобы «установить TTS» (лучше дать им выбор, чем идти. выключить автоматически?)

Кнопка делает это:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.languageselection);

    Intent checkIntent = new Intent();
    checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
    startActivityForResult(checkIntent, MY_DATA_CHECK_CODE);

}

protected void onActivityResult(
        int requestCode, int resultCode, Intent data) {
    if (requestCode == MY_DATA_CHECK_CODE) {
        if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) {
            // success, create the TTS instance
            mTts = new TextToSpeech(this, this);


            speakEnglishButton.setEnabled(true);
            speakFrenchButton.setEnabled(true);
            speakSpanishButton.setEnabled(true);
            speakGermanButton.setEnabled(true);
            speakItalianButton.setEnabled(true);

        } else {
            speakEnglishButton.setEnabled(false);
            speakFrenchButton.setEnabled(false);
            speakSpanishButton.setEnabled(false);
            speakGermanButton.setEnabled(false);
            speakItalianButton.setEnabled(false);

            Toast.makeText(this, "No TTS installed....", Toast.LENGTH_LONG);
            setContentView(R.layout.nottsengine);


        }
    }
}

Вопрос : После звонка на startActivity(installIntent); как я могу подключить их обратно в свою деятельность? Если они установили двигатель TTS в порядке, я хочу затем включить функциональность. Если они ушли в это занятие, но не установили TTS, мне нужно отключить функциональность.

1 Ответ

0 голосов
/ 26 февраля 2011

Зарегистрируйте BroadcastReciver , чтобы получать уведомления об установке пакета TTS.Добавьте это в свой манифест:

<receiver android:name=".InstallNotifier">
    <intent-filter>
    <action android:name="android.speech.tts.engine.TTS_DATA_INSTALLED" />
    </intent-filter>
</receiver>
...