Android传感器的简单例子无法工作,小弟实在是不知所措,因为sensorsimulator.jar文件已经导入,同时在mainfest.xml当中也配置了INTERNET权限,而且,我下载了sensorsimulator-2.0-rc1 进行了.apk文件安装,再用模拟器连接的时候是正常的,如下图:
源代码如下:
package com.jiandu;
import java.util.List;
import android.app.Activity;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
public class AccelerometerActivity extends Activity implements SensorEventListener {
/** Called when the activity is first created. */
private TextView view1, view2, view3;
private SensorManager mSensorManager;
private boolean flag;
private Sensor sensorTest;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
view1 = (TextView) findViewById(R.id.view1);
view2 = (TextView) findViewById(R.id.view2);
view3 = (TextView) findViewById(R.id.view3);
flag = false;
mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
//mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
}
protected void onResume() {
super.onResume();
List<Sensor> sensors = mSensorManager.getSensorList(Sensor.TYPE_ORIENTATION);
if(sensors.size()>0){
sensorTest = (Sensor) sensors.get(0);
flag = mSensorManager.registerListener(this, sensorTest, SensorManager.SENSOR_DELAY_FASTEST);
}
}
protected void onPause() {
if(flag){
mSensorManager.unregisterListener(this);
flag = false;
}
super.onPause();
}
public void onAccuracyChanged(Sensor sensor, int accuracy) {
// TODO Auto-generated method stub
}
public void onSensorChanged(SensorEvent event) {
// TODO Auto-generated method stub
if (event.sensor.getType() == Sensor.TYPE_ORIENTATION) {
//float[] values = event.values;
//Toast.makeText(AccelerometerActivity.this, (int) event.values[SensorManager.AXIS_MINUS_X], 5000);
view1.setText("XXXX" + event.values[SensorManager.AXIS_MINUS_X]);
view2.setText("YYYY" + event.values[SensorManager.AXIS_MINUS_Y]);
view3.setText("ZZZZ" + event.values[SensorManager.AXIS_MINUS_Z]);
}
}
}
图片如下:
mainfest.xml文件如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.jiandu" android:versionCode="1" android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".AccelerometerActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="7" />
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>
运行结果如下:
关于Android传感器的一个案例,无法正常工作
最新推荐文章于 2022-08-16 19:42:14 发布