【问题标题】:Stepcounter in Phonegap - Background servicePhonegap 中的 Stepcounter - 后台服务
【发布时间】:2015-03-02 13:38:32
【问题描述】:

我正在开发一个 Phonegap 应用程序,其中包括一个计步器(它使用加速度计)。显然,即使屏幕被锁定,我也需要应用程序来计算步数。我使用了后台服务,获得了部分唤醒锁定,但由于某种原因,当我锁定屏幕时该服务仍然被终止。这是后台服务的代码:

public class StepCounterService extends Service {

private ELStepCounter mStepCounter;

public static final String TAG = "STEP_COUNTER_SERVICE";


private void publishResult(int steps){
    Intent intent = new Intent(TAG);
    intent.putExtra("Steps", steps);
    sendBroadcast(intent);
}

@Override
public IBinder onBind(Intent intent) {
    // TODO Auto-generated method stub
    return null;
}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {

    super.onStartCommand(intent, flags, startId);
    ELStepCounter.startInstance(StepCounterService.this);
    mStepCounter = ELStepCounter.getsInstance();
    PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
    WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
            "StepCounterService");
    wakeLock.acquire();
    mStepCounter.setmStepDetectionListener(new StepCounterInterface() {

        @Override
        public void onStepDetected(final long steps) {
            // TODO Auto-generated method stub
            Toast.makeText(StepCounterService.this, steps + " steps", Toast.LENGTH_SHORT).show();
            publishResult((int) steps);

        }

        @Override
        public void error(int errorCode) {
            // TODO Auto-generated method stub

        }
    });
    return Service.START_STICKY;
}

}

提前致谢

【问题讨论】:

    标签: android cordova accelerometer background-process


    【解决方案1】:

    我很感激这个答案来得太晚了。我发送它以防万一它对将来的参考有用。我不是 PhoneGap 方面的专家,但我对 Android 手机有一些经验,我猜您可能已经在其中一款手机上进行了测试。在一些 Android 手机中,当屏幕关闭时,加速度计也会关闭。不是所有的人。在http://www.saltwebsites.com/2012/android-accelerometers-screen-off查看模型列表 我在 StackOverflow 上提出了一个问题,因为看起来 Google Fit 有点克服了限制,但我没有找到答案(见 Step Counter in Android: always on?) 希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-03
      • 2013-01-30
      • 1970-01-01
      相关资源
      最近更新 更多