Мне нужно сделать снимок экрана текущего экрана, поэтому я принял приведенный ниже код на
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
LinearLayout v = (LinearLayout) findViewById(R.id.mainLayout);
v.setDrawingCacheEnabled(true);
// this is the important code :)
// Without it the view will have a
// dimension of 0,0 and the bitmap will
// be null
v.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
//v.layout(0, 0, v.getMeasuredWidth(), v.getMeasuredHeight());
v.layout(0, 0, v.getWidth(), v.getHeight());
v.buildDrawingCache(true);
Bitmap bm = Bitmap.createBitmap(v.getDrawingCache());
v.setDrawingCacheEnabled(false); //
if (bm != null) {
try {
String path = Environment.getExternalStorageDirectory()
.toString();
OutputStream fOut = null;
File file = new File(path, "screentest.jpg");
fOut = new FileOutputStream(file);
bm.compress(Bitmap.CompressFormat.JPEG, 85, fOut);
fOut.flush();
fOut.close();
Log.e("ImagePath", "Image Path : "
+ MediaStore.Images.Media.insertImage(
getContentResolver(), file.getAbsolutePath(),
file.getName(), file.getName()));
} catch (Exception e) {
e.printStackTrace();
}
}
}
Этот код отлично сработал, но мне нужно сделать снимок экрана сразу после окончания загрузки экрана.
Я также попробовал onPostCReate (), но все идет напрасно.
Я также пытался вызвать код в методе onPause (), но из-за анимации экран немного обрезается справа и снизу ... поэтому я даже не могу пойти на это ...
Теперь ваша очередь поделиться своим опытом ..
Любые предложения приветствуются !!!!