Приведенный ниже код работает. Однако для этого требуется только скриншот того, какие элементы доступны пользователю, если приложение работает на маленьком экране и текстовое изображение не отображается (нужно прокручивать вверх или вниз), снимок экрана не будет отображаться текст. Как сделать снимок экрана всей активности независимо от экрана?Как сделать снимок экрана всей активности?
public Bitmap takeScreenshot() {
View rootView = findViewById(android.R.id.content).getRootView();
rootView.setDrawingCacheEnabled(true);
return rootView.getDrawingCache();
}
public void saveBitmap(Bitmap bitmap) {
File imagePath = new File(Environment.getExternalStorageDirectory() + "/groceryrun.png");
FileOutputStream fos;
try {
fos = new FileOutputStream(imagePath);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
fos.flush();
fos.close();
} catch (FileNotFoundException e) {
Log.e("GREC", e.getMessage(), e);
} catch (IOException e) {
Log.e("GREC", e.getMessage(), e);
}
}
private void shareImage() {
Intent share = new Intent(Intent.ACTION_SEND);
// If you want to share a png image only, you can do:
// setType("image/png"); OR for jpeg: setType("image/jpeg");
share.setType("image/*");
// Make sure you put example png image named myImage.png in your
// directory
String imagePath = Environment.getExternalStorageDirectory()
+ "/groceryrun.png";
File imageFileToShare = new File(imagePath);
Uri uri = Uri.fromFile(imageFileToShare);
share.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(Intent.createChooser(share, "Share This Deal With Your Friends!"));
}
Я не понимаю, что код. getWindow дает ошибку –
какая ошибка? активность. существует 'yourActivity.getWindow(). getDecorView()' @ChadPrecilla – Elltz