0

無期限に実行される UI なし (バックグラウンド サービスを使用) の Android アプリを開発する必要があります。このサービスは毎秒スクリーンショットをキャプチャします。つまり、ユーザーが画面上で実行するすべてのアクションがスクリーンショットとしてキャプチャされ、電話の内部ストレージまたは SD カードに保存されます。スクリーンショットは置き換えられ、最後に更新されたスクリーンショットのみが保存されるため、保存制限の問題はありません。ServiceAndroid s とsについて読みましIntentServiceたが、自分のケースに最適なオプションを見つけることができません。どうすればこれを進めることができますか? Serviceまたは、 /を使用せずにこれを行う他の方法はありますIntentServiceか?

4

1 に答える 1

1

私のアプリケーションでは、次のものを使用しました。

public static void takeScreenshot() {
    ShellInterface.runCommand("input keyevent " + KeyEvent.KEYCODE_SYSRQ + " &");
}

明らかにShellInterface.runCommand()、ルートコマンドを実行するための私のユーティリティメソッドです。KEYCODE_SYSRQ印刷画面ボタンとして機能し、私のテストでは、Android バージョンの大部分のデバイスで動作します。サムスンでさえそれを壊しませんでした!

これにより、コア システムのスクリーンショット機能が呼び出されることに注意してください。したがって、すべてのアプリケーションで機能し、画面上のすべてを真にキャプチャしますが、保存場所を選択することはできません。そのため、ファイル システムを監視して、いつファイルが追加されたかを確認する必要があります。そしてそれに応じて行動します。

于 2015-09-09T07:46:31.913 に答える