首页 > 系统 > Android > 正文

详解 android 光线传感器 light sensor的使用

2019-12-12 02:34:42
字体:
来源:转载
供稿:网友

调用anroid的光线传感器使用。

实现效果图:

MainActivity.Java

package hk.ust.cse.comp107x.ligthsensor;  import android.content.Context; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView;  public class MainActivity extends AppCompatActivity implements SensorEventListener{   private SensorManager mSensorManager;   private Sensor mPressure;   @Override   protected void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.activity_main);     // Get an instance of the sensor service, and use that to get an instance of     // a particular sensor.     mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);     mPressure = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);   }   @Override   public final void onAccuracyChanged(Sensor sensor, int accuracy) {     // Do something here if sensor accuracy changes.   }   @Override   public final void onSensorChanged(SensorEvent event) {     float light = event.values[0];     TextView v = (TextView)findViewById(R.id.textView);     v.setText(Float.toString(light));     // Do something with this sensor data.   }   @Override   protected void onResume() {     // Register a listener for the sensor.     super.onResume();     mSensorManager.registerListener(this, mPressure, SensorManager.SENSOR_DELAY_NORMAL);   }    @Override   protected void onPause() {     // Be sure to unregister the sensor when the activity pauses.     super.onPause();     mSensorManager.unregisterListener(this);   } } 

activity_main.xml

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"   xmlns:tools="http://schemas.android.com/tools"   android:layout_width="match_parent"   android:layout_height="match_parent"   android:paddingBottom="@dimen/activity_vertical_margin"   android:paddingLeft="@dimen/activity_horizontal_margin"   android:paddingRight="@dimen/activity_horizontal_margin"   android:paddingTop="@dimen/activity_vertical_margin"   tools:context="hk.ust.cse.comp107x.ligthsensor.MainActivity">    <TextView     android:id="@+id/textView"     android:textSize="50dp"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:text="Hello World!"     android:layout_alignParentTop="true"     android:layout_centerHorizontal="true"     android:layout_marginTop="177dp" /> </RelativeLayout> 

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"   package="hk.ust.cse.comp107x.ligthsensor">    <application     android:allowBackup="true"     android:icon="@mipmap/ic_launcher"     android:label="@string/app_name"     android:supportsRtl="true"     android:theme="@style/AppTheme">     <activity android:name=".MainActivity">       <intent-filter>         <action android:name="android.intent.action.MAIN" />          <category android:name="android.intent.category.LAUNCHER" />       </intent-filter>     </activity>   </application>  </manifest> 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表