Я пишу приложение, которое использует камеру телефона и датчики для пространственного соответствия фотографий.
Я делаю снимки, используя намерение камеры:
private void cameraIntent() {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
// Ensure that there's a camera activity to handle the intent
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
// Create the File where the photo should go
File photoFile = null;
try {
photoFile = createImageFile();
} catch (IOException ex) {
Toast.makeText(getApplicationContext(),ex.getMessage(),Toast.LENGTH_LONG).show();
}
// Continue only if the File was successfully created
if (photoFile != null) {
Uri photoURI = FileProvider.getUriForFile(this,
"com.example.android.fileprovider",
photoFile);
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
}
}
Проблема в том, что я хочу сохранить показания акселерометра и магнитометра устройства (для SensorManager.getRotationMatrix
) в момент съемки изображения.
поискВ Интернете ближе всего я могу найти сохранение параметров GPS в onActivityResult
, однако это бесполезно, поскольку пользователь, вероятно, переместил телефон после съемки фотографии и нажатия OK.
Есть ли способ сделатьТелефон во время процесса захвата немного кода, чтобы записать данные датчиков?
Заранее спасибо.