簡體   English   中英

Android接近傳感器無法正常工作

[英]Android Proximity Sensor Not Working

我有一個很好的工作接近代碼,在將targetSdkVersion從11更改為19之后,該代碼就被破壞了。我什么都沒有做。

我想知道以前是否有人遇到過這個問題。 還是這種已知問題。

問候

zgulser我不知道您在傳感器上做了多少工作,但這是我嘗試過的接近傳感器的入門代碼,希望對您有所幫助。

public class MainActivity extends Activity implements SensorEventListener
{

 private SensorManager sensorManager;
 TextView tVProximity;

  @Override
  public void onCreate(Bundle savedInstanceState) 
  {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.fragment_main);

  tVProximity = (TextView)findViewById(R.id.tVProximity);
  sensorManager= (SensorManager)getSystemService(Context.SENSOR_SERVICE);
  Sensor proximitySensor= sensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
  if (proximitySensor == null)
    {
  Toast.makeText(MainActivity.this,"No Proximity Sensor Found! ",Toast.LENGTH_LONG).show();
  Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
  Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), notification);
  r.play();
 }
}

@Override
protected void onResume() 
{
super.onResume();
sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY),
SensorManager.SENSOR_DELAY_NORMAL);
}
 @Override
protected void onPause() 
 {
super.onPause();
sensorManager.unregisterListener(this);
}

@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) 
{

}

@Override
public void onSensorChanged(SensorEvent event) 
 {

 if(event.sensor.getType()==Sensor.TYPE_PROXIMITY){
 if(event.values[0]==0){
 tVProximity.setText("You are Near: "+String.valueOf(event.values[0]));
 try 
    {

    Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
    Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), notification);
    r.play();
   // r.stop();
 } catch (Exception e) {
    e.printStackTrace();
}
}
else{
tVProximity.setText("You are Far: "+String.valueOf(event.values[0]));

}

}}
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM