私は自分のコードをすべて完成させ、スクリーンショットを撮るためにいくつかのコードを試しましたが、どれもうまくいきません。アクティビティ レイアウトで動作するものもありますが、それは望ましくありません。スクリーンショット UX のように、デバイスの任意の画面にスクリーンショットを撮りたいのですが、https://play.google.com/store/apps/details?id=com.liveov.shotuxtrial
これはルート アクセスでのみ実行できることを知っています。screencap
やのようなメソッドについては聞いたことがありますdev/graphics/fb0
が、" screencap
" メソッドが私のデバイス (2.3.7) で機能しないことは知っています。メソッドの使用dev/graphics/fb0
方法についてはまだよくわかりません...ライブラリの方法を試しましたが、うまくいきませんでした。誰かがスクリーンショットコードを取得するのを手伝ってくれることを願っています. 下手な英語でごめんなさい
2 に答える
0
ルート化されたデバイスでシェル コマンドを使用してスクリーン ショットを取得するためのコードは次のとおりです。「fileDestination」は、スクリーンショット ファイルを保存する場所のパスです。
try {
Process process = Runtime.getRuntime().exec("su", null,null);
OutputStream os = process.getOutputStream();
os.write(("/system/bin/screencap -p " + fileDestination).getBytes("ASCII"));
os.flush();
os.close();
process.waitFor();
} catch (IOException e) {
Log.d(TAG,LOG_LABEL+" IOException e:: SCREENSHOT FAILED");
e.printStackTrace();
} catch (InterruptedException e) {
Log.d(TAG,LOG_LABEL+"InterruptedException e:: SCREENSHOT FAILED");
e.printStackTrace();
}
于 2013-09-20T12:08:03.223 に答える
0
フレームバッファへのアクセスは、パーミッションによって制限されています。あなたが実行する場合
$ ls -l /dev/graphics
あなたはそれを確認することができます
crw-rw---- root graphics 29, 0 2013-07-10 10:21 fb0
crw-rw---- root graphics 29, 1 2013-07-10 10:21 fb1
crw-rw---- root graphics 29, 2 2013-07-10 10:21 fb2
crw-rw---- root graphics 29, 3 2013-07-10 10:21 fb3
crw-rw---- root graphics 29, 4 2013-07-10 10:21 fb4
アクセス ( rw
) は にのみ許可されるroot:graphics
ため、デバイスを root 化する必要があります。
于 2013-07-24T21:37:08.797 に答える