tommyrunner 2021-09-25 16:50 采纳率: 50%
浏览 14
已结题

原生Android的自启服务,无法启动传感器?

我再Service中实现了SensorEventListener接口,以onSensorChanged方法来监听传感器
软件的Service是需要自启动的,我在手机允许了软件的自启动
这时,当软件被划掉后台,软件会自动启动Service服务,但是注册SensorEventListener传感器失效

public class TestService extends Service implements SensorEventListener {
private SensorManager mSensorManager;

@Override
public IBinder onBind(Intent intent) {
    return null;
}


@Override
public void onDestroy() {
    super.onDestroy();
    Log.d(BaseData.TAG, "***** TestService*****: 关闭服务");
}


@Override
public void onCreate() {
    super.onCreate();
    Log.d(BaseData.TAG, "***** TestService*****: 启动服务");
    mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    Log.d(BaseData.TAG, "***** TestService*****: onStartCommand");
    if (mSensorManager != null) {// 注册监听器
        mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL);
    }
    return START_STICKY;
}

@Override
public void onSensorChanged(SensorEvent event) {
    Log.d(BaseData.TAG, "***** TestService*****: 监测");

// 监测逻辑-达到某值-toast
}
}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 10月3日
    • 创建了问题 9月25日

    悬赏问题

    • ¥15 目详情-五一模拟赛详情页
    • ¥15 有了解d3和topogram.js库的吗?有偿请教
    • ¥100 任意维数的K均值聚类
    • ¥15 stamps做sbas-insar,时序沉降图怎么画
    • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
    • ¥15 关于#Java#的问题,如何解决?
    • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
    • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
    • ¥15 cmd cl 0x000007b
    • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line