3

AlarmManagerを使用している場合、Androidデバイスはいつかスリープ状態から復帰できます。

Androidはどのようにウェイクアップを下位レベルでスケジュールしますか?

を使用してみrtcwakeましたが、失敗しますrtcwake: /dev/rtc0 not enabled for wakeup events(rtcwakeを強制的に続行し、必要なioctlを作成すると、デバイスが時間どおりにウェイクアップされないことがわかります)

Androidがアラームを設定するために使用するシステムコールと、コンソールから自分でアラームを設定する方法を教えてください。

4

1 に答える 1

4

Androidは/dev/ alarmデバイスを使用して、システムをサスペンド状態からウェイクアップできるアラームを設定します。JNIから、ioctlを使用してこのデバイスにアクセスできます。frameworks / base / services / jni/com_android_server_AlarmManagerService.cppファイルを参照してください。Androidはこのデバイスに排他的にアクセスできます。私が理解していることから、このインターフェイスは、AlarmManagerサービスを使用するJavaからのみ利用できます。これらのアラームをJavaレベルで設定する必要がある場合は、getSystemservice(ALARM_SERVICE)を使用してこのサービスにアクセスできます。ネイティブからは少し注意が必要ですが、現在同じ問題が発生しています。ネイティブプロセスでアラームが必要です。ソケットを使用してJavaサービスと通信し、アラームをスケジュールしています。これはあなたが探している答えではないかもしれませんが、私はこれで私の経験を共有したいと思います。

于 2012-12-06T09:30:22.587 に答える