Java 在android中使用铃声检测接近传感器的近距离和远距离
在我的应用程序中,只要手靠近接近传感器,我就必须播放声音,如果手远离传感器,我就必须停止声音。这是我使用的代码片段Java 在android中使用铃声检测接近传感器的近距离和远距离,java,android,proximity,Java,Android,Proximity,在我的应用程序中,只要手靠近接近传感器,我就必须播放声音,如果手远离传感器,我就必须停止声音。这是我使用的代码片段 public void onSensorChanged(SensorEvent event) { Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE); Ringtone r = RingtoneManager.getRingtone(getApplicatio
public void onSensorChanged(SensorEvent event) {
Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
Ringtone r = RingtoneManager.getRingtone(getApplicationContext(),notification);
if (event.values[0] == 0) {
r.play();
}
else{
r.stop();
}
}
但我的应用程序没有按预期工作。即使我将手从传感器上移开,铃声也只有在完全播放后才会停止
我是android编程新手。因此,我无法通过从谷歌搜索中获得的信息纠正错误。如果逻辑错误,请告诉另一种方法。提前谢谢。您正在呼叫
r.stop()代码>而r
为空。您在if块中说r=
,这就是代码的这一部分工作的原因。但是每当您输入else而不是if时,r
为空,您的程序就会崩溃。收到了,谢谢。。我已经编辑了我的问题。你能解释一下吗。。?