введите здесь описание изображения
Я пытался прочитать другие статьи, в которых упоминались похожие ошибки:
Это мой код для кнопки со скриншотом:
Код: Выделить всё
click_screenshot.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Toast.makeText(MainActivity.this, "bot_screenshot", Toast.LENGTH_SHORT).show();
supportMapFragment.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(@NonNull GoogleMap googleMap) {
Toast.makeText(MainActivity.this, "Test Snapshot Google Maps 2 X", Toast.LENGTH_SHORT).show();
GoogleMap.SnapshotReadyCallback callback = new GoogleMap.SnapshotReadyCallback() {
Bitmap bitmap;
@Override
public void onSnapshotReady(Bitmap snapshot) {
//Toast.makeText(MainActivity.this, "Test Snapshot Google Maps 2 Y", Toast.LENGTH_SHORT).show();
bitmap = snapshot;
try {
Toast.makeText(MainActivity.this, "Test Snapshot Google Maps 2 Z", Toast.LENGTH_SHORT).show();
Bitmap screenshot = capturescreenshot(linearLayout1);
imageView_scre.setImageBitmap(screenshot);
storeimageasjpeg(screenshot);
} catch (Exception e) {
e.printStackTrace();
}/**/
}
};
googleMap.snapshot(callback); //si funciona
}
});
public Bitmap capturescreenshot(View view){
Toast.makeText(MainActivity.this, "capturescreenshot", Toast.LENGTH_SHORT).show();
Bitmap returnBitnap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(returnBitnap);
Drawable bgdrawable = view.getBackground();
if (bgdrawable != null){
bgdrawable.draw(canvas);
}
else {
canvas.drawColor(Color.WHITE);
}
view.draw(canvas);
return returnBitnap;
}
public void storeimageasjpeg(Bitmap bitmap){
Toast.makeText(MainActivity.this, "storeimageasjpeg", Toast.LENGTH_SHORT).show();
OutputStream outst;
try {
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q){
ContentResolver contentResolver = getContentResolver();
ContentValues contentValues = new ContentValues();
contentValues.put(MediaStore.MediaColumns.DISPLAY_NAME,"Image_"+".jpg");
contentValues.put(MediaStore.MediaColumns.MIME_TYPE,"image/jpeg");
contentValues.put(MediaStore.MediaColumns.RELATIVE_PATH, Environment.DIRECTORY_PICTURES+File.separator+"TestFolder");
Uri imageUri = contentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues);
outst = contentResolver.openOutputStream(Objects.requireNonNull(imageUri));
bitmap.compress(Bitmap.CompressFormat.JPEG,100,outst);
Objects.requireNonNull(outst);
//Toast.makeText(MainActivity.this, "Image is saved!", Toast.LENGTH_SHORT).show();
}
}
catch (Exception e){
e.printStackTrace();
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... t-is-black
Мобильная версия