J'ai eu le plantage ci-dessus avec l'émulateur dans Android Studio sur 6.0, mais pas de plantage sur mon appareil avec 6.0.1. L'émulateur lance parfois l'appareil photo mais il se bloque pour la plupart avec rien dans logcat pour me diriger dans la bonne direction. Quelqu'un at-il des indices sur ce qui pourrait se passer ici?malheureusement, la caméra a arrêté l'erreur android 6.0.0
En outre, voici une image du moment où elle passe effectivement. Image_capture_camera
private File createImageFile() throws IOException
{
// Create an image file name
String timeStamp = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss").format(new Date());
String imageFileName = "" + timeStamp;
File storageDir = getActivity().getExternalFilesDir(Environment.DIRECTORY_PICTURES);
File image = File.createTempFile(
imageFileName, /* prefix */
".jpg", /* suffix */
storageDir /* directory */
);
Name = imageFileName;
// Save a file: path for use with ACTION_VIEW intents
mCurrentPhotoPath = image.getAbsolutePath();
return image;
}
private void dispatchTakePictureIntent()
{
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
// Ensure that there's a camera activity to handle the intent
if (takePictureIntent.resolveActivity(getActivity().getPackageManager()) != null)
{
// Create the File where the photo should go
File photoFile = null;
try
{
photoFile = createImageFile();
}
catch (IOException ex)
{
// Error occurred while creating the File
}
// Continue only if the File was successfully created
if (photoFile != null)
{
photoURI = FileProvider.getUriForFile(getActivity(),
"com.full.jusuf.snaphealth.fileprovider",
photoFile);
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK)
{
final Uri uri = photoURI;
uri_data.add(new Timeline_Model(uri.toString(), Name));
//save data to firebase
FirebaseStorage storage = FirebaseStorage.getInstance();
StorageReference storageRef = storage.getReference().child("users").child(FirebaseAuth.getInstance().getCurrentUser().getUid());
storageRef.child(FirebaseAuth.getInstance().getCurrentUser().getUid()).child(Name).putFile(uri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot)
{
String uri1 = taskSnapshot.getDownloadUrl().toString();
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference();
if (user != null)
{
long Count = System.currentTimeMillis();
databaseReference.child("users").child(user.getUid()).child("image_uri").child("image" + Count).setValue(new Timeline_Model(uri1, Name));
}
}
});
PopulateGallery();
}
}
Logcat:
08-08 02:22:26.576 17275-17330/com.full.jusuf.snaphealth V/FA: Recording user engagement, ms: 10526
08-08 02:22:26.576 17275-17330/com.full.jusuf.snaphealth V/FA: Using measurement service
08-08 02:22:26.576 17275-17330/com.full.jusuf.snaphealth V/FA: Connecting to remote service
08-08 02:22:26.580 17275-17330/com.full.jusuf.snaphealth D/FA: Logging event (FE): user_engagement(_e), Bundle[{firebase_event_origin(_o)=auto, engagement_time_msec(_et)=10526, firebase_screen_class(_sc)=MainActivity, firebase_screen_id(_si)=4121746325476785971}]
08-08 02:22:26.593 17275-17330/com.full.jusuf.snaphealth V/FA: Using measurement service
08-08 02:22:26.593 17275-17330/com.full.jusuf.snaphealth V/FA: Connection attempt already in progress
08-08 02:22:26.593 17275-17330/com.full.jusuf.snaphealth V/FA: Activity paused, time: 917202
08-08 02:22:26.611 17275-17330/com.full.jusuf.snaphealth D/FA: Connected to remote service
08-08 02:22:26.611 17275-17330/com.full.jusuf.snaphealth V/FA: Processing queued up service tasks: 2
08-08 02:22:26.678 17275-17357/com.full.jusuf.snaphealth D/EGL_emulation: eglMakeCurrent: 0x7f9ce78225e0: ver 3 1 (tinfo 0x7f9cdb3c2d40)
08-08 02:22:26.679 17275-17357/com.full.jusuf.snaphealth E/Surface: getSlotFromBufferLocked: unknown buffer: 0x7f9cdb6c53e0
Vous devez ajouter autorisations d'exécution pour la caméra pendant que votre application s'exécute sur 6.0. –