6

モバイル画面をオフにしてプログラムでスリープ状態にするアプリケーションを実行する必要があります。たとえば、user_presentなしで画面が5分以上オンになっている場合は、オフにする必要があります。PowerManagerを使おうとしました(goToSleep()関数は私が望むことを正確に実行するはずですが、機能していないようです):

PowerManager pm = (PowerManager) m_context.getSystemService(Context.POWER_SERVICE);


  if (pm.isScreenOn() )
   {
    pm.goToSleep(System.currentTimeMillis() + 1000
   }

マニフェストに次の許可があります。

<uses-permission android:name="android.permission.DEVICE_POWER"/>

例外がスローされます:java.lang.SecurityException:ユーザー10068も現在のプロセスにもandroid.permission.DEVICE_POWERがありません。しかし、私はマニフェストにこの許可を持っています。

私の電話をroot化せずにこれを行う別の方法はありますか?

4

1 に答える 1

3

android.permission.DEVICE_POWERシステムアプリにのみ付与され、サードパーティのアプリはこの権限を取得しません。

ウェイクロックを保持しておらず、減らすSCREEN_OFF_TIMEOUTと、5分後に自動的に眠りにつくことができるはずです。

于 2012-11-29T14:47:21.967 に答える