没有图形的android活动

没有图形的android活动,android,Android,从BroadcastReceiver我想调用一个没有图形的活动。没有图形,因为它会说出一些单词 Intent iSpeechIntent = new Intent(context, TTS.class); iSpeechIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(iSpeechIntent); 但活动周期没有正确完成onDestroy()方法永远不

从BroadcastReceiver我想调用一个没有图形的活动。没有图形,因为它会说出一些单词

Intent iSpeechIntent = new Intent(context, TTS.class);                          
iSpeechIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(iSpeechIntent);
但活动周期没有正确完成<代码>onDestroy()方法永远不会执行。为什么?

@Override
    public void onDestroy() {
        // Don't forget to shutdown!
        if (tts != null) {
            tts.stop();
            tts.shutdown();
        }
        super.onDestroy();
    }

如果我使用不带图形XML的活动只是为了用TTSEngine讲一些文本,那还可以吗?

我建议使用Android服务来完成这类任务

我建议使用Android服务来完成这类任务

你误解了<当您的活动被取消时,code>onDestroy()不会被调用。取消它(即启动另一个活动)并不等于销毁活动(但是,您可以通过调用
finish()
-强制销毁活动,然后调用
onDestroy()
方法)。您可能希望将代码分别移动到
onPause()
onResume()
,或者如果您不需要任何UI来完成任务,您可以使用它来代替。

您误解了<当您的活动被取消时,code>onDestroy()不会被调用。取消它(即启动另一个活动)并不等于销毁活动(但是,您可以通过调用
finish()
-强制销毁活动,然后调用
onDestroy()
方法)。您可能希望将代码分别移动到
onPause()
onResume()
,或者如果您不需要任何UI来完成任务,您可以使用它。

谢谢您的解释。我将尝试使用IntentService。我还使用ispeech TTS作为初始化需要活动的参数。感谢您的解释。我将尝试使用IntentService。我还使用ispeech TTS作为初始化活动的参数。