converter uma visualização em cartão em bitmap
perguntas semelhantes foram feitas várias vezes, mas ainda estou tendo dificuldades para entender onde a imagem é salva. Estou usando a solução aceita deesta pergunta SO.
eu tenho umcardview
que desejo converter para uma imagem e compartilhá-la (esse é um problema diferente). Meu cardview é:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
......
android.support.v7.widget.CardView
android:id="@+id/cv_abtme"
android:layout_width="368sp"
android:layout_height="273dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="101dp"
android:background="@color/colorPrimaryLight"
app:cardBackgroundColor="@color/about_instagram_color"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/imageView4"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
app:srcCompat="@mipmap/ic_launcher" />
....
</android.support.v7.widget.CardView>
Estou tentando convertê-lo como:
public class AboutMeActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_about_me);
ImageButton cvbutton= findViewById(R.id.imageButton_abtme);
cvbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
getBitmapFromView(view);
Snackbar.make(getCurrentFocus(),"Image Captured", Snackbar.LENGTH_LONG).show();
}
});
}
public static Bitmap getBitmapFromView(View view) {
Bitmap returnedBitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(),Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(returnedBitmap);
Drawable bgDrawable =view.getBackground();
if (bgDrawable!=null)
bgDrawable.draw(canvas);
else
canvas.drawColor(Color.WHITE);
view.draw(canvas);
return returnedBitmap;
}
}
Mas não tenho ideia de como está funcionando, pois não consigo ver nenhuma imagem produzida, mas obviamente nenhum erro.
Então, a questão é:
Qual é o caminho que a imagem criou?Preciso de alguma permissão para salvar e acessar o jpg?