0

こんにちは、私は Android に非常に慣れていません。iOS から仕事に移行したばかりなので、Android についてはよくわかりません。

Android デバイスの画面監視アプリを作成したいと考えています。WiFi経由で他のAndroidデバイスの画面を同時に見ることができ、他のデバイスに画面をブロードキャストすることもできます.

画面をキャプチャしてホストに送信するだけで、UDPを使用して画面をブロードキャストすることを考えています。リアルタイムである必要はなく、画面に表示されているものを表示するだけで十分です。

このメソッドをタイマーで呼び出すことにより

private void captureScreen() {
    final View rootview1 = findViewById(R.id.root).getRootView();
    rootview1.setDrawingCacheEnabled(true);
    Bitmap bmp = rootview1.getDrawingCache();
    ByteArrayOutputStream bytes = new ByteArrayOutputStream();
    bmp.compress(Bitmap.CompressFormat.JPEG, 20, bytes);//lower quality faster
    byte[] byteArray = bytes.toByteArray();


    packetToSend.setData(byteArray);//send image

    rootview1.setDrawingCacheEnabled(false);


}

これで、アプリのビューを送信して、ホストに正しく表示できるようになりました。

私の問題は、このメソッドをサービスとして実行する場合、他のアプリケーション (ブラウザー、ゲーム、映画など) またはダッシュボードで現在のビューを見つけるにはどうすればよいですか?

助けてください

ありがとう。

4

1 に答える 1

1

私の問題は、このメソッドをサービスとして実行する場合、他のアプリケーション (ブラウザー、ゲーム、映画など) またはダッシュボードで現在のビューを見つけるにはどうすればよいですか?

幸いなことに、明らかにプライバシーとセキュリティ上の理由から、これは不可能です。独自の UIをそのように (コードごとに)共有することは大歓迎です。そのように他のアプリの UIを共有することはできません。

ルート化されたデバイスで使用できるさまざまなオプションがありますが、最近 Android UI パイプラインに変更が加えられたため、それらがどの程度うまく機能するかはわかりません。

于 2013-11-07T14:13:34.230 に答える