Как я могу вернуть пользователя в свою деятельность после того, как я его отослал?

Мое приложение определит, установлен ли у пользователя движок 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 ответ

Решение

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

<receiver android:name=".InstallNotifier">
    <intent-filter>
    <action android:name="android.speech.tts.engine.TTS_DATA_INSTALLED" />
    </intent-filter>
</receiver>
Другие вопросы по тегам