Birisi yakınlık sensörünün nasıl kullanılacağı konusunda bir örnek verebilir mi? lütfen bazı olayları ve bunları nasıl kullanacağınızı açıklayın?Yakınlık algılayıcısı nasıl kontrol edilir?
10
A
cevap
4
Her android mobil, çeşitli çevre koşullarını ölçmek için sensörlerle birlikte gönderilir. Yakınlık sensörü, bazı nesnelerin cihazdan uzaklığını ölçer. Cihazın yanında bir kişinin yüzünün varlığını tespit etmek için sıklıkla kullanılır.
Bazı yakınlık sensörleri sadece bir ikili yakın veya uzak ölçümü destekler. Bu durumda, sensör maksimum aralık değerini uzak durumda ve yakın konumda daha düşük bir değerde bildirmelidir. Biz 3 TextView'un en sahip Yukarıdaki örnekte
<?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>
:
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]));
}
}
};
}
yukarıdaki kodu için düzen xml
aşağıda verilmiştir. Birincisi cihaz yakınlık algılayıcısını destekliyorsa, ikincisi sensör tarafından desteklenen maksimum aralığı ve mevcut okumayı görüntülemek için üçüncü üniteyi görüntülüyorsa gösterilecektir.Bu yaklaşım, yaklaşım sensörleri hakkında temel bir fikir vermiştir.
Google'ı açın. "Android yakınlık sensörü örnek kodu" yazın. Viyola! – gilonm