Kann jemand ein Beispiel für die Verwendung des Näherungssensors geben? Beschreiben Sie bitte ein Ereignis und wie man es benutzt?Wie wird der Näherungssensor von Controlandroid verwendet?
Antwort
Jedes Android-Handy wird mit Sensoren zur Messung verschiedener Umgebungsbedingungen ausgeliefert. Der Annäherungssensor misst die Entfernung, die ein Objekt vom Gerät entfernt ist. Es wird häufig verwendet, um das Vorhandensein des Gesichts einer Person neben dem Gerät zu erkennen.
Einige Näherungssensoren unterstützen nur eine binäre Nah- oder Fernmessung. In diesem Fall sollte der Sensor seinen maximalen Bereichswert im fernen Zustand und einen niedrigeren Wert im nahen Zustand melden.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<TextView
android:id="@+id/proximitySensor"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/proximityMax"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/proximityReading"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
Im obigen Beispiel haben wir 3 Textview ist:
package com.exercise.AndroidProximitySensor;
import android.app.Activity;
import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.widget.TextView;
public class AndroidProximitySensorActivity extends Activity {
/** Called when the activity is first created. */
TextView ProximitySensor, ProximityMax, ProximityReading;
SensorManager mySensorManager;
Sensor myProximitySensor;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ProximitySensor = (TextView)findViewById(R.id.proximitySensor);
ProximityMax = (TextView)findViewById(R.id.proximityMax);
ProximityReading = (TextView)findViewById(R.id.proximityReading);
mySensorManager = (SensorManager)getSystemService(
Context.SENSOR_SERVICE);
myProximitySensor = mySensorManager.getDefaultSensor(
Sensor.TYPE_PROXIMITY);
if (myProximitySensor == null){
ProximitySensor.setText("No Proximity Sensor!");
}else{
ProximitySensor.setText(myProximitySensor.getName());
ProximityMax.setText("Maximum Range: "
+ String.valueOf(myProximitySensor.getMaximumRange()));
mySensorManager.registerListener(proximitySensorEventListener,
myProximitySensor,
SensorManager.SENSOR_DELAY_NORMAL);
}
}
SensorEventListener proximitySensorEventListener
= new SensorEventListener(){
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
// TODO Auto-generated method stub
}
@Override
public void onSensorChanged(SensorEvent event) {
// TODO Auto-generated method stub
if(event.sensor.getType()==Sensor.TYPE_PROXIMITY){
ProximityReading.setText("Proximity Sensor Reading:"
+ String.valueOf(event.values[0]));
}
}
};
}
Das Layout XML für den obigen Code ist unten angegeben. Die erste Anzeige zeigt an, ob das Gerät den Näherungssensor unterstützt, die zweite, um die maximale Reichweite anzuzeigen, die vom Sensor unterstützt wird, und die dritte, um den aktuellen Messwert anzuzeigen.
Hoffe dies hat Ihnen eine Grundidee über Näherungssensoren gegeben.
Öffnen Sie Google. Geben Sie "Android-Näherungssensor-Beispielcode" ein. Viola! – gilonm