ÎÒÃÇÒѾÁ˽âÁË´«¸ÐÆ÷µÄ¹¤×÷ÔÀíºÍ³£¼ûµÄ´«¸ÐÆ÷£¬ÏÂÃæÎÒÃÇҪѧϰµÄÊÇ£ºÁ˽âAndroidÖд«¸ÐÆ÷Ïà¹ØµÄAPIÒÔ¼°ÈçºÎʹÓÃÕâЩ
ÔÚ³ÌÐòÖÐͨ¹ý´úÂë±éÀúµ±Ç°É豸´æÔڵĴ«¸ÐÆ÷ÖÖÀ࣬ÿһ¸öÉ豸ÉÏ´«¸ÐÆ÷µÄÓÐÎÞÒÔ¼°´«¸ÐÆ÷µÄÖÖÀà¶¼²»Ò»Ñù¡£ÏÂÀý1-1ÊǾßÌåµÄ
¶ÁÖ¸¶¨´«¸ÐÆ÷
ÈçºÎÔÚ³ÌÐòÖжÁȡijһָ¶¨µÄ´«¸ÐÆ÷¶ÔÏó£¬ÏÂÃæÎÒÃǽ«Í¨¹ý´úÂë¶ÁÈ¡É豸ÉϵĹâ¸Ð´«¸ÐÆ÷²¢ÊµÏÖ¶Ôµ±Ç°»·¾³Ï¹â¶ÈÇ¿ÈõµÄ¼àÌý¡£
¾ßÌå²½ÖèÈçÏ£º
¶ÁÈ¡É豸ÉϵĴ«¸ÐÆ÷¶ÔÏ󣬴úÂëÈçÀý1-2Ëùʾ£º
Àý1-2
manager = (SensorManager) getSystemService(SENSOR_SERVICE);
//Ö¸¶¨´«¸ÐÆ÷µÄÀàÐÍ£¬»ñÈ¡¸Ã´«¸ÐÆ÷¶ÔÏó
Sensor sensor = manager.getDefaultSensor(Sensor.TYPE_LIGHT);
¸´ÖÆ´úÂë
±àд¼àÌýÆ÷£¬´úÂëÈçÀý1-3Ëùʾ£º
Àý1-3
public class MyListener implements SensorEventListener {
//µ±´«¸ÐÆ÷µÄ¾«¶È·¢Éú±ä»¯Ê±µ÷ÓÃÕâ¸ö·½·¨
@Override
public void onAccuracyChanged(Sensor arg0, int arg1) {
}
//µ±´«¸ÐÆ÷¼ì²âµÄÊý¾Ý·¢Éú±ä»¯Ê±µ÷ÓÃÕâ¸ö·½·¨
@Override
public void onSensorChanged(SensorEvent arg0) {
float light = arg0.values[0];
System.out.println("¹âÏßÇ¿¶ÈµÄ´óС£º===="+light);
}
}
¸´ÖÆ´úÂë
±àдMyListenerÄÚ²¿Ààʹ֮ʵÏÖSensorEventListener½Ó¿Ú£¬²¢ÖØÐ´onAccuracyChanged·½·¨ºÍonSensorChanged·½·¨£¬ÔÚ
¹âÏßÇá¶È·¢Ëͱ仯ʱ»Øµ÷µÚ¶þ¸ö·½·¨¡£SensorEvent.valuesÊÇÒ»¸öÊý¾Ý¶ÔÏ󣬸ÃÊý¾ÝµÄµÚÒ»¸öÊýÖµ¾ÍÊǹâÏߵĴóС£¬ÏµÍ³ÖÐÊÇ
Ò»¸öfloatÀàÐ͵ÄÊý×ÖÀ´±íʾ£¬¸ÃÊýÖµÔ½´óÕâ¶ÔÓ¦µÄ¹âÏßÇ¿¶È¾ÍÔ½´ó¡£
×¢²á¼àÌýʼþ
ÎÒÃÇÒѾ»ñÈ¡Á˸ô«¸ÐÆ÷¶ÔÏó£¬Ò²±àдÁ˸öÔÏóµÄ¼àÌýÆ÷£¬×îºóÐèÒª×öµÄ¾ÍÊǸøÕâ¸ö´«¸ÐÆ÷¶ÔÏó×¢²á¼àÌýʼþ¡£´úÂëÈçÀý1-4£º
Àý1-4
myListener=new MyListener();
manager.registerListener(myListener, sensor, SensorManager.SENSOR_DELAY_FASTEST);
¸´ÖÆ´úÂë
½â³ý¼àÌýʼþ
ϵͳ¹â¸Ð´«¸ÐÆ÷²»Í£µÄ»ñÈ¡µ±Ç°»·¾³µÄ¹â¶È·þÎñÒѾ±»¿ªÆô£¬µ±ÎÒÃÇÔÚÍ˳ö¸ÃÓ¦ÓÃʱ£¬Ò»¶¨Òª¼ÇµÃ¹Ø±Õ¸Ã·þÎñ£¬·ñÔòºǫ́»áÒ»ÖÂ
ÔËÐÐÕâ¸ö·þÎñ£¬»áЧ¹ûϵͳ×ÊÔ´¡£¾ßÌå´úÂëÈçÀý 1-5Ëùʾ£º
Àý1-5
@Override
protected void onDestroy() {
manager.unregisterListener(myListener);
super.onDestroy();
}
¸´ÖÆ´úÂë
ÔËÐгÌÐò£¬Ñ¡ÔñÔÚÕæ»ú£¨±¾ÀýΪСÃ×3£©£¬Ð§¹ûÈçͼ1-2Ëùʾ£º
±¾ÎİæÈ¨¹éÀÖÓã²¥¿ÍAndroidÅàѵѧԺËùÓУ¬»¶Ó×ªÔØ£¬×ªÔØÇë×¢Ã÷×÷Õß³ö´¦¡£Ð»Ð»£¡
×÷ÕߣºÀÖÓã²¥¿ÍAndroidÅàѵѧԺ
Ê×·¢£ºhttp://www.itcast.cn/android/