gpt4 book ai didi

android - 我将如何检测广播接收器中的运动传感器?

转载 作者:IT王子 更新时间:2023-10-28 23:32:06 24 4
gpt4 key购买 nike

我在 Manifest.xml

中编写了一个接收器来检测设备运动是否发生变化
 <receiver android:name="com.hanuman.sensor.receiver.SensorReceiver" >
<intent-filter
android:enabled="true"
android:exported="false" >
<action android:name="android.intent.action.USER_PRESENT" />
</intent-filter>
</receiver>

而里面receiver onReceive()方法代码是:

String action = intent.getAction();
if (action.equals(Intent.ACTION_USER_PRESENT)) {
System.out.println("User is present");
Intent s = new Intent(context, MainActivity.class);
s.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(s);
} else {
System.out.println("User is not present");
}

最后我的问题是,当它被移动时没有检测到传感器,它正在检测我的设备何时解锁然后它正在调用我的 MainActivity,但我想检测我的设备何时移动改变然后我想在接收器中检测。我该怎么做?

最佳答案

如下所示获取 SensorManager 的对象-

SensorManager sensorMan = (SensorManager)getSystemService(SENSOR_SERVICE);

Sensor sensor = sensorMan.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);

注册监听器以监听运动传感器的变化-

sensorMan.registerListener(context, sensor,
SensorManager.SENSOR_DELAY_UI);

然后重写 onSensorChanged() 方法来检测变化-

@Override
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER){
//do some stuff
}
//do some other code for other Sensor type
}

关于android - 我将如何检测广播接收器中的运动传感器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29604430/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com