あなたがまだこれを行う方法を探しているかどうかはわかりませんが、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()、目的のアクティビティを発生させるインテントを実行できます。
(これは、探しているものに対して十分に敏感でない場合があります…)