こんにちは、私は Android で弱い AI (ボット) アプリを構築していますが、これにはかなり慣れていません。
コンテキスト: アプリは、ボットを開始/停止し、ボットの設定を変更するための UI、一定の間隔 (たとえば 5 秒ごと) でスクリーンショットを取得する画面キャプチャ サービス、画像認識モジュール (OpenCv)、およびタッチシミュレーションサービス(Instrumentationクラス、MotionEventクラス)。明らかに、UI とは別に、ボットが起動されると、すべてのモジュールをバックグラウンドで実行できるようにする必要があります。
質問: バックグラウンドから一定の間隔で画面をキャプチャできるサービスを作成する最も効率的で合理的な方法は何ですか?
MediaProjection API のドキュメントとデモを探した後、MediaProjection を使用して画面を記録し、Timer + スケジュールされた TimerTask を使用してビットマップを保存する IntentService の作成を開始しましたが、少し迷っています。これが私がこれまでに持っているものです:
削除されました
私はそれを間違っていると感じています。説明、アドバイス、スニペット、チュートリアル、または役立つものを使用して、これを行う方法を理解するのを手伝ってもらえますか?
編集:実際、ランタイムを使用してadbシェルコマンドを実行する方がはるかに簡単です。 さらに、これにより、コンピューター上でより高速な画像処理を行うことができます