デスクトップアプリを作るならPCの電源周りの動作にも気を配る必要があります。 裏で動いていた非同期なタスクがスリープから起動後に再度実行できるようイベントをハンドリングしていきます。
ElectornではpowerMonitor
というAPIが用意されています。
powerMonitor
powerMonitor
は電源の状態の変化をモニターします。
イベント: resume
システムが再開したときのイベントです。
利用例
メインプロセスでのみ利用できます。
app
のredy
の中で利用します。
▼ TypeScriptでの例。
main.ts
import { app, powerMonitor } from "electron";
import log from "electron-log";
app.on("ready", async () => {
log.info("App ready");
/**
* システム(PC)が再開したとき
*/
powerMonitor.on('resume', function () {
log.info('System resumption');
// 何らかの処理
})
});
その他のイベント
公式が充実しているため短い紹介だけします。
- システムの再開と停止:
resume
,suspend
- 電源の状態:
on-ac
,on-battery
- スクリーンをロックとアンロック:
lock-screen
,unlock-screen
- システムが再起動またはシャットダウンするとき:
shutdown
状態を把握するメソッド
powerMonitor.getSystemIdleState(idleThreshold)
現在のシステムの状態active
、idle
、locked
、unknown
を返す。powerMonitor.getSystemIdleTime()
アイドル状態の秒数を返すpowerMonitor.isOnBatteryPower()
システムがバッテリー電源状態かどうか
電源周りはタブレットPCを使った設備点検などのアプリで利用できそうです。
参考
Reactに入門するよ
ReactTypeScriptschedule2021-12-12
【TypeScript】ジェネリックスな配列Array<T>を扱う関数を定義する
TypeScriptschedule2021-10-10
【TypeScript】Jestでdescribeなどの関数がnot findになってるのを解消する
TypeScriptテストエラー解消schedule2021-10-10
【TypeScript】JestでインポートしたモジュールがCannot find moduleとなるエラー
TypeScriptテストエラー解消schedule2021-10-10
【Electron】PCのスリープと起動イベントを検知する
ElectronNodejsJavaScriptTypeScriptschedule2021-09-06
axiosでリクエスト中の処理をキャンセルする
JavaScriptNodejsschedule2021-08-31