Je suis désolée de venir demander de l'aide aux gens, mais je suis bloquée par ce problème depuis un moment et ça me rend folle.L'image de la caméra n'apparaît pas dans la deuxième activité
J'essaie de prendre un bouton de MainActivity où il vous met dans l'appareil photo et prend une photo. Il vous emmène ensuite à l'activité suivante où il y a un aperçu de la même image. Mais chaque fois que j'arrive à l'activité suivante, l'image n'apparaît pas, juste un espace réservé. Qu'est-ce que je fais mal? Est-ce que je manque quelque chose dans le code? J'ai regardé autour de moi et j'ai essayé d'utiliser Uri, mais apparemment il n'est plus autorisé car vous devez donner des permissions spécifiques pour l'action, donc FileProvider est recommandé, mais honnêtement c'est un peu trop dur pour un débutant comme moi. J'ai essayé et échoué pendant des heures.
MainActivity
public class MainActivity extends AppCompatActivity {
int CAPTURE_REQUEST;
Button button;
Bitmap thumbnail;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View view) {
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAPTURE_REQUEST);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == CAPTURE_REQUEST) {
Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
sendImage();
}
}
}
private void sendImage() {
Intent intent = new Intent(MainActivity.this, NextActivity.class);
intent.putExtra("image", thumbnail);
startActivity(intent);
}}
NextActivity
public class NextActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
ImageView imageView = (ImageView) findViewById(R.id.imageView);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_next);
Bundle extras = getIntent().getExtras();
if (extras != null) {
Bitmap image = (Bitmap) extras.get("image");
if (image != null) {
imageView.setImageBitmap(image);
}
}
}}
Dans votre fonction sendImage(), contient-elle l'image correcte? –
Je le crois. Mais je l'admets, Android Studies m'indique que lorsque je déclare une image en miniature Bitmap = (Bitmap) yada yada, elle n'est jamais utilisée nulle part ailleurs même si je l'utilise dans sendImage() –