Поиск сообщества
Показаны результаты для тегов 'ACTION_IMAGE_CAPTURE'.
Найдено: 2 результата
-
В Android 6 на Berlin 10.1.1 перестала работать стандартная функция TakePhotoFromCameraAction. Иногда работает, иногда нет. Поэтому я решил написать нативную замену этой функции. За основу взят пример с портала разработчиков Android. Мой пример про видео на базе отправки Intetn смартфону и получение результата в виде другого Intent, отлично работает. Но для фотографий этот пример сыпется, после выполнения фотографирования система возвращается в мое приложение и оно вылетает с ошибкой: Если заглянуть в исходнки, там все обвязано сообщениями в лог монитора. Последнее сообщение «+ Intent is sent». Помогите пожалуйста разобраться, в чем может быть проблема? PhotoIntent.zip
-
procedure TfMain.PhotoClick(Sender: TObject); var sPath,FLastPhotoName:string; {$IF DEFINED(ANDROID)} PhotoIntent: JIntent; photoUri: Jnet_Uri; JFileName: JFile; {$ENDIF} begin {$IF DEFINED(ANDROID)} FLastPhotoName := ''; FLastPhotoFullName := ''; FMessageSubscriptionID := TMessageManager.DefaultManager.SubscribeToMessage(TMessageResultNotification, HandleActivityMessage); PhotoIntent := TJIntent.JavaClass.init(TJMediaStore.JavaClass.ACTION_IMAGE_CAPTURE); if (PhotoIntent.resolveActivity(TAndroidHelper.Context.getPackageManager()) <> nil) then begin FLastPhotoName := THashMD5.GetHashString('JPEG PHOTO FILE ' + DateTimeToStr(Now)) + '.jpg'; FLastPhotoFullName := TPath.Combine(TPath.GetSharedDocumentsPath, FLastPhotoName); JFileName := TJFile.JavaClass.init(StringToJString(FLastPhotoFullName)); photoUri := TJnet_Uri.JavaClass.fromFile(JFileName); PhotoIntent.putExtra(TJMediaStore.JavaClass.EXTRA_OUTPUT, TJParcelable.Wrap((photoUri as ILocalObject).GetObjectID)); if PhotoIntent.resolveActivity(TAndroidHelper.Activity.getPackageManager) <> nil then TAndroidHelper.Activity.startActivityForResult(PhotoIntent, REQUEST_IMAGE_CAPTURE); end; {$ENDIF} Приложение камеры открывается, фото делается, но при закрытии приложение вылетает В логах ошибки java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=null} to activity {com.embarcadero.test/com.embarcadero.firemonkey.FMXNativeActivity}: java.lang.NullPointerException