1

Android開発にEclipse Indigoを使用しています。これは少しクレイジーに聞こえるかもしれませんが、アプリの実行中にすべての画面のスクリーンショットを自動的に撮る機能が Eclipse にあるでしょうか? それとも、これをプログラムで行う必要がありますか? 実際に私が欲しいのは、アプリ内のすべての画面のスクリーン ショットが必要です。また、DDMS パースペクティブを使用して手動で取得することは避けたいと思います。

どんな情報でも役に立ちます。前もって感謝します。

4

2 に答える 2

2

アプリの実行中にすべての画面のスクリーンショットを自動的に取得するEclipseの機能はありますか?

はい、次の場合はスクリーンショットを撮ることができます

Androidビューの「デバイス」を開きます([ウィンドウ]->[ビューの表示]->[その他...]->[Android]-> [デバイス]の下)。スクリーンショットを撮りたいデバイスまたはエミュレーターをクリックしてから、[スクリーンキャプチャ]ボタンをクリックします(小さな写真のように見え、一時停止の標識ボタンの横にあるはずです)。場合によっては、デバイスがすぐに画像をロードしないことがあります。画面キャプチャウィンドウを閉じたり、再度開いたりする必要がある場合があります。

これはDDMSを介して写真を撮るのと同じですが、別のアプリケーションを開く代わりにEclipseで写真を撮ることができます。

これはプログラムで行う必要がありますか?

はい、以下のコードが示唆するようにそれを行うこともできます。

// image naming and path  to include sd card  appending name you choose for file
String mPath = Environment.getExternalStorageDirectory().toString() + "/" + ACCUWX.IMAGE_APPEND;   

// create bitmap screen capture
Bitmap bitmap;
View v1 = mCurrentUrlMask.getRootView();
v1.setDrawingCacheEnabled(true);
bitmap = Bitmap.createBitmap(v1.getDrawingCache());
v1.setDrawingCacheEnabled(false);

OutputStream fout = null;
imageFile = new File(mPath);

try {
    fout = new FileOutputStream(imageFile);
    bitmap.compress(Bitmap.CompressFormat.JPEG, 90, fout);
    fout.flush();
    fout.close();

} catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

次に、アクセスする必要がある場合は、次のようなものを使用します。

Uri uri = Uri.fromFile(new File(mPath));
于 2013-01-07T11:57:06.903 に答える
0

ここに私が見つけたものがあります。 http://www.mightypocket.com/2010/08/android-screenshots-screen-capture-screen-cast/

于 2013-01-28T08:13:50.780 に答える