無期限に実行される UI なし (バックグラウンド サービスを使用) の Android アプリを開発する必要があります。このサービスは毎秒スクリーンショットをキャプチャします。つまり、ユーザーが画面上で実行するすべてのアクションがスクリーンショットとしてキャプチャされ、電話の内部ストレージまたは SD カードに保存されます。スクリーンショットは置き換えられ、最後に更新されたスクリーンショットのみが保存されるため、保存制限の問題はありません。Service
Android s とsについて読みましIntentService
たが、自分のケースに最適なオプションを見つけることができません。どうすればこれを進めることができますか? Service
または、 /を使用せずにこれを行う他の方法はありますIntentService
か?
1 に答える
1
私のアプリケーションでは、次のものを使用しました。
public static void takeScreenshot() {
ShellInterface.runCommand("input keyevent " + KeyEvent.KEYCODE_SYSRQ + " &");
}
明らかにShellInterface.runCommand()
、ルートコマンドを実行するための私のユーティリティメソッドです。KEYCODE_SYSRQ
印刷画面ボタンとして機能し、私のテストでは、Android バージョンの大部分のデバイスで動作します。サムスンでさえそれを壊しませんでした!
これにより、コア システムのスクリーンショット機能が呼び出されることに注意してください。したがって、すべてのアプリケーションで機能し、画面上のすべてを真にキャプチャしますが、保存場所を選択することはできません。そのため、ファイル システムを監視して、いつファイルが追加されたかを確認する必要があります。そしてそれに応じて行動します。
于 2015-09-09T07:46:31.913 に答える