首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >onUtteranceCompleted不允许PhoneCallListener

onUtteranceCompleted不允许PhoneCallListener
EN

Stack Overflow用户
提问于 2013-11-29 18:41:01
回答 1查看 75关注 0票数 0

由于某些原因,我无法从PhoneCallListener调用包含onutteranceCompleted的方法。没有错误消息,它似乎只是停止执行脚本。我已经添加了一些日志,它可以使用PhoneCallListener登录到“这里”登录。没有PhoneCallListener,它将到达最后的日志“电话设置”。下面是我如何实现它的示例代码。

代码语言:javascript
复制
@Override
public void onInit(int status)
{
    if(status == TextToSpeech.SUCCESS)
    {
        tts.setOnUtteranceCompletedListener(this);
        int result = tts.setLanguage(Locale.US);

        if(result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED)
        {
            //Language not supported
        }
        else
        {
            speakOut();
        }
    }

}

private void speakOut()
{
    HashMap<String, String> myHashAlarm = new HashMap<String, String>();
    myHashAlarm.put(TextToSpeech.Engine.KEY_PARAM_STREAM, String.valueOf(AudioManager.STREAM_ALARM));
    myHashAlarm.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, "Text to Speech");
    tts.speak("blah blah", TextToSpeech.QUEUE_FLUSH, myHashAlarm);
}

@Override
public void onDestroy()
{
    if(tts != null)
    {
        tts.stop();
        tts.shutdown();
    }

    super.onDestroy();
}

public void onUtteranceCompleted(String utteranceId)
{
    Log.i("TEST", utteranceId);
    setUpPhone();
    Log.i("TEST", "phone set up"); //this is never reached
}

private void setUpPhone()
{
    Log.i("TEST", "here");

    PhoneCallListener phoneListener = new PhoneCallListener(); //If I remove this line, the log "phone set up" displays.
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-30 01:18:20

我不知道为什么PhoneCallListener会停止执行,但是我通过在onCreate方法中放置"phoneListener =();“来解决这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20291703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档