0

Android の背景をスリープモード したいのですが、ユーザーが移動を開始すると起動します。ただし、加速度計をNORMALモード (最低サンプル レート ~ 5 Hz) で使用すると、依然として電力を消費しすぎるのではないかと心配しています。これまでのところ、これを行う最善の方法はUSER_PRESENTで、画面がオンでロックが解除されていることです。

多くの人が知っているように、ウェイクロックを保持して時々画面を起動する悪いアプリがたくさんあるため、画面オン(おそらくキーガードが存在する場合)でさえ機能しません。

ユーザーに音量アップ/ダウンボタンを押してもらうことを考えています..

これに対するより良い解決策はありますか?

4

1 に答える 1

0

あなたがまだこれを行う方法を探しているかどうかはわかりませんが、shakeListener を開始できることを (偶然に) 発見しました。アプリはバックグラウンドであってもイベントを取得します。

(そして「偶然」ということは、アプリがバックグラウンドにあるときに再生するはずの音をアプリに再生させたくなかったことを意味しますが、バックグラウンドに別のアプリがあり、電話を置いた場合でも寝るとき、携帯電話をポケットに入れて歩くと、アプリがバックグラウンドで操作を実行するのに十分な揺れがありました。)

    /**
     * load and set up the listener for shake detection
     */
    private void loadShaker() {
        mShaker = new ShakeListener(this);
        mShaker.setOnShakeListener(new ShakeListener.OnShakeListener () {
            public void onShake() { 
                if (!mActivityPaused)
                    performMyOperationCausedByShake();
                }
        });
    }

したがって、おそらくこれを設定してperformMyOperationCausedByShake()、目的のアクティビティを発生させるインテントを実行できます。

(これは、探しているものに対して十分に敏感でない場合があります…)

于 2013-03-31T04:28:42.763 に答える