Имя: Пароль:
1C
 
Мобильное приложение фотоснимок
0 oslokot
 
14.11.18
09:54
Добрый день.

Есть мобильное приложение которое фоткает не средствами мультимедиа встроенными в платформу, а средствами самого андроид
Собственно код простой:

ФайлКартинки = КаталогКартинок + "temp.jpg";
НовВз = Новый ЗапускПриложенияМобильногоУстройства("android.media.action.IMAGE_CAPTURE");
НовВз.ДополнительныеДанные.Добавить("output", ФайлКартинки, "Uri");
НовВз.Запустить(Истина);

И все работает замечательно на андроидах 5 и 6 версии
Но на версии 7 проблема - 1с рушится и выдает ошибку:

exposed beyond app through clipdata.item.geturi()

Кто-нибудь сталкивался с таким? что делать?
1 oslokot
 
14.11.18
09:56
Версия платформы 8.3.12.67
2 Cyberhawk
 
14.11.18
09:58
Почему не через платформенный метод?
3 oslokot
 
14.11.18
09:59
Платформенный метод не подходит, как минимум - нужна фотовспышка
4 Cyberhawk
 
14.11.18
10:24
Посвежее платформу взять не предлагать?
5 ejikbeznojek
 
14.11.18
10:29
(4) Я к стати пару раз пожалел, что поставил платформу посвежее)
Когда с 8.3.12.64 менял на 8.3.12.67
6 ejikbeznojek
 
14.11.18
10:30
(0) Тупо попробуй несколько разных версий платформы.
Какая-нибудь да подойдёт))
7 Cyberhawk
 
14.11.18
10:31
(5) Не спорю. После 8.3.9 вообще *овно пошло )
8 Вафель
 
14.11.18
10:34
а у 1с есть какой апп стораж для файлов?

For sdk 24 and up, if you need to get the Uri of a file outside your app storage you have this error.
https://stackoverflow.com/questions/48117511/exposed-beyond-app-through-clipdata-item-geturi
9 oslokot
 
14.11.18
10:48
(4) (6) попробую 8.3.13.45 но думаю дело не в платформе, а в новой политике безопасности ведроида 7.0
Каких-о параметров не хватает, но каких? и как их туда передать хз
10 oslokot
 
14.11.18
11:28
на свежей платформе 8.3.13.45 все тоже самое
1с вываливается точно с такой же ошибкой:

android.os.FileUriExplosedException:
file:///scard/MobileData/temp.jpg exposed beyond app through clipdata.item.geturi() at android.os.StrictMode.onFileUriExposed(StrictMode.java:1799)

Хелп!!!
11 Dionis Sergeevich
 
14.11.18
11:28
А само приложение IMAGE_CAPTURE работает то? Его бы отладчиком посмотреть
12 oslokot
 
14.11.18
11:30
(11) если в (0) убрать строчку
НовВз.ДополнительныеДанные.Добавить("output", ФайлКартинки, "Uri");

то приложение камеры открывается, работает, фоткает, но файл не ,возвращает естественно (
13 Dionis Sergeevich
 
14.11.18
11:39
Разрешение на память есть у мобильной платформы?
14 oslokot
 
14.11.18
11:41
(13) да, есть. фото и память.

Повторюсь, эта проблема возникла только на андроиде 7.0
На телефонах с анроидом 5.хх и на 6.01 все нормально.
15 DGorgoN
 
14.11.18
11:50
(14) Потому как систему разрешений переделали на 7 андроиде.
16 ejikbeznojek
 
14.11.18
12:04
(14) На более старых версиях платформы пробовал?
8.3.11.57 попробуй.

Если не поможет, тогда делай попытку.
в исключении делай фотку встроенными средствами без фотовспышки.
И жди...либо появления статьи, как в 7 андроиде фоткать
Либо пока не появится вспышка во встроенных средствах)))
17 Dionis Sergeevich
 
14.11.18
12:06
Думаю нужно спросить где нибудь тут @startandroidchat
18 oslokot
 
14.11.18
12:09
(15) уже понял, но как с этим жить?

(16) что характерно, в свежей 8.3.13.45 которую я только что установил, запилили таки ВСПЫШКУ! хаха)

Ну правда, ложка дегтя все же есть, этож 1с!
Сделать фотоснимок выполняется медленно. Раза в 3 медленней чем это делает ведроид.IMAGE_CAPTURE
Независимо от того, куда вы едете — это в гору и против ветра!