当Android RecognitionListener的onResults方法被调用两次时,可以考虑以下解决方法:
private boolean isResultsCalled = false;
...
@Override
public void onResults(Bundle results) {
    if (!isResultsCalled) {
        // 处理onResults方法的逻辑
        isResultsCalled = true;
    }
}
private SpeechRecognizer mSpeechRecognizer;
...
@Override
public void onResults(Bundle results) {
    if (mSpeechRecognizer != null) {
        mSpeechRecognizer.cancel();
    }
    
    // 处理onResults方法的逻辑
}
private RecognitionListener mRecognitionListener;
...
@Override
public void onResults(Bundle results) {
    if (mRecognitionListener != null) {
        mSpeechRecognizer.setRecognitionListener(null);
    }
    
    // 处理onResults方法的逻辑
    
    if (mRecognitionListener != null) {
        mSpeechRecognizer.setRecognitionListener(mRecognitionListener);
    }
}
这些解决方法可以帮助你解决Android RecognitionListener的onResults方法被调用两次的问题。选择其中一个适合你的情况进行实现即可。