2016-08-07 3 views
2

私はアンドロイドデバイスのスクリーンショットをプログラムで取得する方法を探しています。私は実行中のアクティビティのスクリーンショットを取ることを含むstackoverflowのいくつかのソリューションを見てきました。私は、デフォルトでは、ボリュームダウンと電源ボタンを同時に押してAndroidでトリガーされている動作を模倣したい。私自身の活動や活動のスクリーンショットを撮りたいとは思いません。たとえば、ボタンでダイアログアクティビティを開始し、ボタンをクリックすると、私は自分のアクティビティを終了し、ステータスバーを含む可視セクションのスクリーンショットをとるバックグラウンドタスクを開始します。そして力はする。これをどのように達成するのですか?どのAndroidコードがスクリーンショット機能を模倣していますか(ボリュームダウンと電源ボタンは同時に)?

答えて

-1

別のアクティビティのスクリーンショットを撮っている場合は、スクリーンショットを表示する画面のセクションを含む、または画面全体をキャプチャするだけで、ビューへの参照を取得する必要があります。それが画面全体である場合は、次に表示がビットマップとして、あなたが呼び出すことにより、JPEGまたはPNGにビットマップを保存することができ、そこから

// Take the Screen shot of a View 
public static Bitmap takeScreenshot(final View theView) { 
    theView.setDrawingCacheEnabled(true); 
    return theView.getDrawingCache(); 
}  

// Release the drawing cache after you have captured the Bitmap 
// from takeScreenshot() 
public static void clearScreenshotCache(final View theView) { 
    theView.setDrawingCacheEnabled(false); 
} 

を使用することができることをキャプチャすること

// get the top level view from the activity in this context 
View theView = getWindow().getDecorView(); 

を得ることができますビットマップ上の.compress

バックグラウンドスレッドでタスクを実行するには、hereのようにいくつかの方法で十分なドキュメントがあります。

あなたが始めることを望みます!

関連する問題