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