ユーザーがアプリを使っている間にアンドロイドアプリケーションのスクリーンショットを撮って、そのスクリーンショットをサーバーに送信する方法はありますか?スクリーンショットは、特定の時間間隔で撮影する必要があります。アンドロイドアプリケーションでユーザーに知らなくてもスクリーンショットを撮る
いくつかの実装方法をお知らせください。
ユーザーがアプリを使っている間にアンドロイドアプリケーションのスクリーンショットを撮って、そのスクリーンショットをサーバーに送信する方法はありますか?スクリーンショットは、特定の時間間隔で撮影する必要があります。アンドロイドアプリケーションでユーザーに知らなくてもスクリーンショットを撮る
いくつかの実装方法をお知らせください。
ImageView、TextView、または特定の画面にボタンなどの他のビューがあるとします。そして、あなたはこのようにやってます:あなたはbyte[]
にビットマップを変換し、それをサーバーに送信する必要が
View v=img.getRootView(); //img is ImageView. you replace it with your view
v.setDrawingCacheEnabled(true);
Bitmap bmp= v.getDrawingCache();
。
View root = findViewById(android.R.id.content);
root.setDrawingCacheEnabled(true);
Bitmap bm = Bitmap.createBitmap(root.getDrawingCache());
root.setDrawingCacheEnabled(false);
そして、あなたはあなたの要件ごとに、このコードを処理することができます:あなたはスクリーンショットを取ることができることができますコードの下に使用することにより
。ここで、bmはスクリーンショットビットマップで、ビットマップファイルを適切なサーバーに送信して、それについて知ることができます。
お楽しみください。 :)
あなたが言ったように、あなたはウルのアプリケーションからスクリーンショットを撮りたい、これを試してみてください。
Bitmap bitmap;
View v1 = MyView.getRootView();
v1.setDrawingCacheEnabled(true);
bitmap = Bitmap.createBitmap(v1.getDrawingCache());
v1.setDrawingCacheEnabled(false);
MYVIEWは、私たちが画面に含める必要を通じて図です。
私が覚えている限り、「特別な」アプリだけが(メーカーが署名した)スクリーンショットを取得する許可を持っているので、スクリーンショットは非ルートのデバイスで簡単ではありません。セキュリティ上の問題です(アンドロイドのスクリーンロガー=あなたのPC上のkeylogger)。 見よう1つのヒント:最後に試してからしばらく時間がかかりましたが、ネイティブライブラリを使用する必要があると思います。 – Sprigg