0

デバイスが低電力 (スリープ) モードのときにタイマーが期限切れになったときに起動されるタイマーを起動したいと考えています。

デバイスは、ハードウェア イベント (電源ボタンの押下) またはネットワーク アクティビティ (通話またはデータ パケットの受信) のいずれかでのみウェイクアップ (通常モード) されます。

Androidのネイティブレイヤーでタイマーを使用してデバイスを通常モードに戻す方法はありますか?

私はとてもグーグルで検索しましたが、方法を見つけることができませんでした。timer_create() も使用してみました。ただし、デバイスが低電力 (スリープ) モードの場合は起動しません。

誰かがこの部分ですでにやったことがあれば教えてください。

実際に必要な精度はミリ秒単位であり、RTC_WAKEUP を使用した AlarmManager は、遅延を考慮した後に期限切れになるアプリケーション層にあり、これも Java 層にあります。(Jni を実装すると、スリープ モードで実行する必要があるタイマーが複数あるため、アプリケーションにオーバーヘッドが発生します)。

4

1 に答える 1

0

デバイスを元に戻すには、これらの行で探索できると思います 1. PowerMangerService


    PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
    PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag");
    wl.acquire();
    //..screen will stay on during this section..
wl.release();
2. 画面タイムアウトの設定の android.provider.Settings.System.SCREEN_OFF_TIMEOUT 値。3. PowerManagerService による Intent.ACTION_SCREEN_ON および Intent.ACTION_SCREEN_OFF インテント

于 2012-12-03T12:47:22.863 に答える