2

Android フォン: Delphi XE7 アプリから、右側のスタンバイ キーとホーム ボタンを同時に押し続けるにはどうすればよいですか。つまり、これらの 2 つのボタンにアクセスして、アプリ内から (画像フォルダーに) スクリーンショットを作成しますか?

4

1 に答える 1

5

API レベル 17 (Jelly Bean MR1) 以降では、Android のcom.android.uiautomator.core.UiDeviceクラスには次の 2 つのtakeScreenshot()メソッドがあります。

public boolean takeScreenshot (ファイルストアパス)

現在のウィンドウのスクリーンショットを撮り、PNG として保存します デフォルトの縮尺は 1.0f (元のサイズ) で、90% の品質が使用されます スクリーンショットは画面の回転ごとに調整されます

パラメーター


PNG が書き込まれるstorePath


スクリーンショットが正常に作成された場合は true、それ以外の場合は false を返します

public boolean takeScreenshot (ファイル storePath、float スケール、int 品質)

現在のウィンドウのスクリーンショットを撮り、PNG として保存します スクリーンショットは画面の回転ごとに調整されます

パラメーター


PNG が書き込まれるstorePath

スケール
必要に応じてスクリーンショットを縮小します。元のサイズの場合は 1.0f

品質
PNG 圧縮の品質。範囲: 0-100


スクリーンショットが正常に作成された場合は true、それ以外の場合は false を返します

古いバージョンの Android にはスクリーンショット API がなく、ハードウェア キーの押下をシミュレートしてプログラムで強制することはできません。Viewオブジェクト自体をオブジェクトにレンダリングする方法があるように見えBitmapますが、必要に応じて使用できます。

App Store にはスクリーンショットを撮影できるサードパーティ製アプリがあるため、Intent.

また、Google CodeのAndroid Screenshot Libraryなど、サードパーティのスクリーンショット ライブラリを利用できます。

Android Screenshot Library (ASL) を使用すると、root アクセス権限がなくても Android デバイスからスクリーンショットをプログラムでキャプチャできます。代わりに、ASL はバックグラウンドで実行されているネイティブ サービスを利用し、デバイスの起動ごとに Android Debug Bridge (ADB) を介して開始されます。

于 2014-11-03T23:27:48.780 に答える