我要做的就是让它工作:
if (isGalaxyS()) {
audioManager.setMode(AudioManager.MODE_IN_CALL);
audioManager.setMode(AudioManager.MODE_NORMAL);
audioManager.setSpeakerphoneOn(flag);
}
似乎这样来回移动可以重置音频通道。为了完整起见,这里是isGalaxyS()(注意,我只在Epic上测试过这个!):
public static boolean isGalaxyS() {
String model = Build.MODEL;
return model.equalsIgnoreCase("GT-I9000") || // base model
model.equalsIgnoreCase("SPH-D700") || // Epic (Sprint)
model.equalsIgnoreCase("SGH-I897") || // Captivate (AT&T)
model.equalsIgnoreCase("SGH-T959") || // Vibrant (T-Mobile)
model.equalsIgnoreCase("SCH-I500") || // Fascinate (Verizon)
model.equalsIgnoreCase("SCH-I400"); // Continuum (T-Mobile)
}