Запуск приложения мобильного устройства - что это?

0. Дмитрий Шерстобитов (DitriX) 2508 12.09.14 20:44 Сейчас в теме
В этой статье я попробую ответить на этот вопрос.
А также посмотрим, как сканировать камерой, как отправлять почту и как делать фото (или видео и в любом качестве), причем не встроенными средствами 1С.

Перейти к публикации

Комментарии
1. Ruslan Ruslan (flyer) 248 16.09.14 12:01 Сейчас в теме
ждем что то аналогичное для ios
2. Дмитрий Шерстобитов (DitriX) 2508 16.09.14 14:05 Сейчас в теме
(1) очень сильно сомневаюсь :)
DanilaDru; +1 Ответить
3. Евгений Плешивцев (infosoft-v) 36 16.09.14 12:42 Сейчас в теме
Добрый день. А такие приёмы требуют прав суперпользователя в устройстве на андроид?
4. Дмитрий Шерстобитов (DitriX) 2508 16.09.14 15:00 Сейчас в теме
(3)Нет, это стандартный механизм.
5. Сергей Галюк (dj_serega) 308 16.09.14 16:12 Сейчас в теме
А можно где-то посмотреть общий список команд которые можно выполнить?
7. Дмитрий Шерстобитов (DitriX) 2508 16.09.14 18:08 Сейчас в теме
(5) можно - для этого надо уже понимать основы программирования под андроид. И, увы, почему то далеко не все работает.
Ну вот на офф сайте http://developer.android.com/guide/components/intents-common.html

(6) теперь ждем момента, когда 1с сможет быть сервером броэдкаста, а то посылать она оповещения то может, а вот прослушивать - нет. А как было бы круто :)
Присылаешь линк, как в уф, на товар или накладную - открывается 1с с этим товаром/накладной :)
93. djvu (djvu) 126 30.09.15 14:40 Сейчас в теме
(7) DitriX,

Как я понял, запускать можно только активити с параметрами? Сервисы таким образом запускать нельзя?
94. Дмитрий Шерстобитов (DitriX) 2508 30.09.15 17:22 Сейчас в теме
(93) вы вызываете намерение, у сервисов их нет, т.е. вы и активити то не все вызвать можете, а только те, у которых есть фильтр намерений.
95. djvu (djvu) 126 01.10.15 08:26 Сейчас в теме
(94)
Т.е. для организации двухстороннего обмена с сервисом с использованием интентов нужна активити-прослойка в любом случае :/
Получается и асинхронный режим выпадает?
96. Дмитрий Шерстобитов (DitriX) 2508 02.10.15 11:25 Сейчас в теме
(95) djvu, во всяком случае - на текущий момент, да.
Но как научимся слушать бродкасты...
98. Enot tut (enot_tut) 1 18.11.15 10:04 Сейчас в теме
(96) DitriX, можно конфигурацию скинуть этой статьи
99. Дмитрий Шерстобитов (DitriX) 2508 21.11.15 20:28 Сейчас в теме
6. Алексей 1 (AlX0id) 16.09.14 15:30 Сейчас в теме
А я говорил, что интенты добавят :)
8. IMalyshev (allegrosoft) 37 16.09.14 18:24 Сейчас в теме
С какого релиза все это стало возможно?
9. Ruslan Ruslan (flyer) 248 16.09.14 19:10 Сейчас в теме
110. Игорь Про (ISP) 06.07.16 13:47 Сейчас в теме
у меня заработал такой вызов камеры android/ Сделано на базе примера, за что спасибо
//Тут указываем путь, при чем путь должен быть доступен всем программам,
		// так что временные файлы 1С не подйут
		
		ФайлКартинки = КаталогДокументов()+"MobileFoto.jpg";
		// без замены слешей не сохраняет нормально
		ФайлКартинки = СтрЗаменить(ФайлКартинки,"\","/");
		// делаем как бы ссылку на файл для андроида
		ФайлКартинки = "file://" + ФайлКартинки; 
		
		НовВз = Новый ЗапускПриложенияМобильногоУстройства("android.media.action.IMAGE_CAPTURE");
		
		//Обязательно указываем этот параметр, если его не указать,
		// тогда вам вернется привью файла в низком качестве
		// и находится он будет в параметрах с ключем data.
		НовВз.ДополнительныеДанные.Добавить("output",ФайлКартинки,"Uri");
		
		//Если фото не сделано, то ответ будет "0"
		Рез = НовВз.Запустить(Истина);
		
		// а тут нормально обращение к файлу. Без этого вылетает ошибка, что файл не обнаружен 
		ФайлКартинки = СтрЗаменить(ФайлКартинки,"file://","");
		
		// сохраняем в справочник на смартфоне, для последующей выгрузки
		Фото_СохранитьСнимок(Неопределено,
		Новый ДвоичныеДанные(ФайлКартинки),
		Неопределено,
		Неопределено
		);

&НаСервере
Процедура Фото_СохранитьСнимок(ФотоСсылка,ДвоичныеДанные,РасширениеФайла,ТипСодержимого)
	Если ФотоСсылка = Неопределено Тогда 
		Фото = Справочники.ФотоДляСлужебок.СоздатьЭлемент();
		Фото.Наименование = Формат(ТекущаяДата(),"ДФ='yyyy.MM.dd HHmmss'") + "[Нов. фото]";
		Фото.ИмяФото = Формат(ТекущаяДата(),"ДФ='yyyy.MM.dd HHmmss'") + ".jpg";
	иначе	
		Фото = ФотоСсылка.ПолучитьОбъект();
	КонецЕсли;
	
	Фото.ДатаФото = ТекущаяДата();
	Фото.РасширениеФото = РасширениеФайла;
	Фото.ТипСодержимогоТекст = ТипСодержимого;
	// для отлаки
	Если ДвоичныеДанные = Неопределено Тогда 
		Фото.ХранилищеФото = Новый ХранилищеЗначения(Неопределено);
	иначе	
		Фото.ХранилищеФото = Новый ХранилищеЗначения(ДвоичныеДанные,Новый СжатиеДанных(9));
	КонецЕсли;
	Фото.ЕстьФото = Истина;	
	Фото.Родитель = Фото_ТекущаяСлужебка;
	Фото.Записать();
КонецПроцедуры
Показать
10. IMalyshev (allegrosoft) 37 17.09.14 09:33 Сейчас в теме
А можно исходники приложения?))
11. Дмитрий Шерстобитов (DitriX) 2508 17.09.14 14:52 Сейчас в теме
(10) можно все :) Позже обновлю статью и добавлю исходники
12. IMalyshev (allegrosoft) 37 17.09.14 14:57 Сейчас в теме
13. Дмитрий Шерстобитов (DitriX) 2508 17.09.14 18:16 Сейчас в теме
14. Сергей Т (sergei_tekh) 80 22.09.14 16:30 Сейчас в теме
В эмуляторе (VMware) метод тоже должен работать? У меня ничего не происходит и никаких ошибок не выдаётся.
15. Дмитрий Шерстобитов (DitriX) 2508 22.09.14 16:47 Сейчас в теме
(14) смотря что вы тестируете.
16. Сергей Т (sergei_tekh) 80 22.09.14 17:36 Сейчас в теме
(15) попробовал все примеры, что здесь были. Допустим, отправку почты:
&НаКлиенте
Процедура Сообщения(Команда)
	
    НовВз = Новый ЗапускПриложенияМобильногоУстройства();
    НовВз.Действие = "android.intent.action.SEND"; 
    Сообщить(НовВз.Запустить(ложь));
	
КонецПроцедуры

Метод "Запустить" выдает всегда Ложь (или 0, в зависимости от параметра метода)
18. Дмитрий Шерстобитов (DitriX) 2508 22.09.14 19:03 Сейчас в теме
(16) странно, но боюсь что тут не пдскажу в чем дело, может нет ни одного приложения, которое должно откликнуться.ъ
(17) писали в IDEA
17. IMalyshev (allegrosoft) 37 22.09.14 18:21 Сейчас в теме
Проект в Eclipce разработан? Что-то не пойму, как -то криво в eclipce открывается.
19. Константин Гейнрих (CyberCerber) 159 07.10.14 13:24 Сейчас в теме
Спасибо за полезную статью по интересной теме!

Попробовал примеры из статьи. Поставил прогу для штрих-кодов, запустил команду, да, сработало.

Но не работает команда "android.intent.action.SEND". При этом установлен тот же GMail, смотрел в его манифесте, там эта команда в интентах есть. Не знаете, в чем может быть дело?
20. Дмитрий Шерстобитов (DitriX) 2508 07.10.14 15:56 Сейчас в теме
(19) CyberCerber, вы делаете вот так:
Процедура ПроверитьВзаимодействие(Команда)

    НовВз=Новый ЗапускПриложенияМобильногоУстройства();

    НовВз.Действие="android.intent.action.SEND"; 

    Сообщить(НовВз.Запустить(Истина));

КонецПроцедуры
Показать

?
Что вам в ответ приходит?
21. Константин Гейнрих (CyberCerber) 159 07.10.14 20:54 Сейчас в теме
(20) DitriX, да, именно так и делаю. В ответ приходит 0. И больше ничего не происходит.
22. Дмитрий Шерстобитов (DitriX) 2508 07.10.14 21:43 Сейчас в теме
(21) CyberCerber, Даже не знаю что ответить. Это стандартная функция андроида.
Давайте тогда уточним все:
1. Версия андроид
2. Версия 1С
3. Название устройство
4. На скольки устройствах тестировали
5. Вы точно именно так писали? С учетом регистров и без своих каких-либо добавлений? На всякий случай скопируйте этот код и проверьте еще раз. Дабы был чистый эксперимент.
23. Константин Гейнрих (CyberCerber) 159 08.10.14 08:15 Сейчас в теме
(22) DitriX, по пунктам:
1. Андроид 4.0.4
2. 1С 8.3.5.1146
3. Huawei MediaPad 10 FHD
4. Пока на одном
5. Писал именно так, сто раз перепроверял, копировал из Манифеста.

Конечно, ус-во - китайщина, но разве может железо повлиять на работу этих механизмом. Тем не менее, постараюсь сегодня проверить на других девайсах.
24. Константин Гейнрих (CyberCerber) 159 08.10.14 10:45 Сейчас в теме
(22) DitriX, протестил на Samsung Galaxy S3 Android 4.3 - тоже самое

Но у меня получилось по-другому! Добавил строчку из примера НовВз.Тип="message/rfc822";
Открылся выбор Gmail и Bluetooth. Почему так, не можете подсказать? И откуда брать эту инфу о типе?
25. Дмитрий Шерстобитов (DitriX) 2508 08.10.14 13:26 Сейчас в теме
(24) интересует версия мобильной 1С, а не стационарной.
Так как там они немного переделали механизмы. Вообщем попробуйте из новых примеров в конце статьи.
26. Константин Гейнрих (CyberCerber) 159 10.10.14 09:22 Сейчас в теме
(25) DitriX, мобильная 8.3.5.74. Это уже старая версия?
О, спасибо за примеры. В общем, понял, что нужно изучать Манифесты приложений.
А никто не пробовал открыть из 1С картинку на редактирование, сделать там какие-то пометки и закрыть, сохранив? Не могу найти удобные редакторы/рисовалки, которые с Интентами работают.
27. Макс Зеленский (mzelensky) 53 15.10.14 10:20 Сейчас в теме
Доброго времени суток!

Делаю фотку средствами 1С, сохраняю в базу и привязываю к нужному объекту. По сути встроенным и средствами все работает, но фотографии получаются довольно большие (мне бы хватило разрешения 800*600).

Можно ли это реализовать вашим методом?.
29. Дмитрий Шерстобитов (DitriX) 2508 15.10.14 13:51 Сейчас в теме
(27) а почему нет? Вы вызываете приложения для работы с фото (не 1С), задаете там размеры и фоткаете, в 1С приходит фото.
Если надо обрезать уже сделанное фото - тоже можно.
Пробуйте, а там увидите.

(28) теоретически можно, но такую программу надо самому писать. Врядли вы найдете готовое решение.
28. Роман Зиновьев (Широкий) 698 15.10.14 10:34 Сейчас в теме
А можно ли сторонними программа вызывать/скрывать клавиатуру?
Я как то копал - пришел к выводу, что нельзя.
Но на всякий случай спрошу - вдруг ошибаюсь.
30. Андрей Данилюк (DanilaDru) 235 16.10.14 08:08 Сейчас в теме
Коллеги подскажите пожалуйста. В основном по nfc пишут про необходимость перехвата, но 1с этого не умеет. Может встречали приложение, с помощью которого можно было бы перехватить nfc метку? На подобии как автор вызывает стороннее приложение для сканирования штрих-кодов.
31. Сергей Галюк (dj_serega) 308 20.10.14 17:49 Сейчас в теме
А как можно запаковать в архив каталог?

Интерактивно делается так: Мои файлы - выбираем файл или каталог - меню - Заархивировать.
32. Дмитрий Шерстобитов (DitriX) 2508 20.10.14 18:28 Сейчас в теме
33. Сергей Галюк (dj_serega) 308 21.10.14 13:05 Сейчас в теме
(32) DitriX,
Собственно проблемы следующие:
1. Хочу с мобильного приложения создать десяток xml-ек. Запаковать в zip. Отправить по почте.

2. Хочу подключиться к ftp, передать туда десяток файлов или если получится запаковать в архив то передать архив.

Ни первое ни второе не работает.

upd: в тонком клиенте файлы на фтп передаются (в т.ч. каталоги создаются). А вот с мобильного лажа ;(
upd2: Код следующий:
СоздатьКаталог("ftp://login:pass@ip/ИмяКаталога/");

Ошибка следующая:
Каталог не знайдено 'ftp://login:pass/ip/ИмяКаталога': Помилка роботи з інтернет: ftp://ipRequest must not be null.

Я уже и / и \ пробовал. Толку ноль. Ошибка одна и та же.
34. Дмитрий Шерстобитов (DitriX) 2508 21.10.14 17:04 Сейчас в теме
(33) dj_serega,
FTPСоединение (FTPConnection)

Описание:

Предназначен для работы с файлами и каталогами на ftp-серверах.

Доступность:

Тонкий клиент, сервер, толстый клиент, внешнее соединение.
35. Сергей Галюк (dj_serega) 308 22.10.14 15:14 Сейчас в теме
(34) DitriX, Так вот именно. Что Новый FTPСоединие не работает на мобильном.
Я подключался по пути "СоздатьКаталог("ftp://login:pass@ip/ИмяКаталога/");"
Думал нет объекта но подключиться можно.

А как на счет вызова программы которая запакует несколько файлов?
36. Дмитрий Шерстобитов (DitriX) 2508 22.10.14 17:33 Сейчас в теме
(35) хм, ну продолжайте копать :) Авось чего интересного найдете :)
37. Константин Гейнрих (CyberCerber) 159 19.11.14 10:36 Сейчас в теме
Не подскажите, а может ли 1С отправлять broadcast команды?
В Манифесте приложения есть секция activity с intent-filter. Вот действия оттуда срабатывают.
А вот отправляю команду, которая находится в секции receiver с intent-filter - ничего не происходит.
Если через adb shell отправляю команду "am broadcast -a <описание.команды>", то все работает.
Получается, 1С этого еще не умеет?
38. Дмитрий Шерстобитов (DitriX) 2508 19.11.14 14:26 Сейчас в теме
(37) не может, только стартануть активити может, и принимать бродкасты - тоже пока не умеет.
39. Константин Гейнрих (CyberCerber) 159 20.11.14 08:20 Сейчас в теме
(38) DitriX, ясно, значит, будем надеяться на новую версию платформы...
О, вижу, вы выложили разработку Acode tools! Как я понимаю, через нее можно реализовать и это.
40. arisha rein (arisha_rein) 21.11.14 22:42 Сейчас в теме
Подскажите, пожалуйста, почему ХЗ = Новый ХранилищеЗначения(Новый ДвоичныеДанные("file:///sdcard/Download/FotoTestFrom1C.bmp")); вызывает ошибку недопустимое значение параметра 1?
41. Дмитрий Шерстобитов (DitriX) 2508 22.11.14 13:32 Сейчас в теме
(40) потому что:
file:///sdcard/Download/FotoTestFrom1C.bmp - это URI
/sdcard/Download/FotoTestFrom1C.bmp - а это просто путь или path.

uri - Universal resource Identifier.
Эта штука включает в себя:
- схему доступа
- путь к элементу
- идентификатор элемента
т.е. например к записи в БД ты можешь создать uri.
Типичный URI:
jdbc:mysql://localhost/niflheim?useUnicode=true&characterEncoding=utf-8
А path это путь к объекту файловой системы.

Андроид обычно работает с uri, так как он должен понимать - вы указали путь к файлу, или это путь к записи в бд.

Если привести анологию в 1С, то в 1С есть такая фишка, как ссылка на объект.
К примеру:
e1cib/data/Справочник.Пользователи?ref=8259005056c0000811e4723249a21e41 - это путь к элементу справочника, в котором указывается, что это конкретно справочник, и не просто справочник, а вполне определенный справочник, или в андроиде - это URI

С другой стороны:
8259005056c0000811e4723249a21e41 - это просто ID, или в андроиде - path.

Вы если хотите обратиться к элементу, вы не можете просто взять указать ID и получить объект, вам надо указать - что это за объект.

Вот тут тоже самое. Т.е. когда вы делаете запись фото - вы должны указать для андроида uri, тогда он поймет, что это файл и где он лежит.
С другой стороны, когда вы получаете файл из 1С, то 1С уже и сама знает, что работать вы будете только с файлом и все.
Поэтому ей достаточно указать просто путь, а вот уже сама 1С, внутри своей системы - по этому пути получит uri и будет с ним работать.

Надеюсь я понятно объяснил?
42. arisha rein (arisha_rein) 22.11.14 15:30 Сейчас в теме
(41) DitriX, все понятно. Большое спасибо!
43. Владимир Литвинов (ignorant) 25.11.14 15:40 Сейчас в теме
Автору - огромное спасибо, выдает "нагора" массу полезной информации!
Кандидат в "Фабрику знаний" - вкл / выкл приемник GPS

// GPS On
Запуск = Новый ЗапускПриложенияМобильногоУстройства();
Запуск.Действие = "android.location.GPS_ENABLED_CHANGEPICK";
Запуск.Данные 	= "enabled:true";
Запуск.Запустить(Истина);

// GPS Off
Запуск = Новый ЗапускПриложенияМобильногоУстройства();
Запуск.Действие = "android.location.GPS_ENABLED_CHANGEPICK";
Запуск.Данные 	= "enabled:false";
Запуск.Запустить(Истина);
Показать
mojo.aka; dablack; DitriX; +3 Ответить
44. Vladimir Savelyev (gigapevt) 13 27.11.14 18:31 Сейчас в теме
А как скрыть экранную клавиатуру после окончания ввода текста (например в своей форме поиска).

Код есть, но как его прикрутить к 1С ?

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
45. Дмитрий Шерстобитов (DitriX) 2508 27.11.14 20:39 Сейчас в теме
(44) без исходников 1с - никак. Во всяком случае - мы не смогли этого добиться.
Еще один из вариантов - своя клавиатура. Вот у нас в ТСД своя клавиатура, и мы ее можем скрывать, открывать и вообще че хотим то и делаем :)
46. Сергей Сторожев (ssa) 04.02.15 01:05 Сейчас в теме
Большое спасибо за пример с "android.media.action.IMAGE_CAPTURE". Пригодилось.
Но есть проблема с размером картинки. У меня приложение "Камера", которое автоматически вызывается, позволяет установить минимальное разрешение 1 Мпикс. И файл изображения получается большой. Как его можно уменьшить?
47. Дмитрий Шерстобитов (DitriX) 2508 04.02.15 12:36 Сейчас в теме
(46) автоматически вызывается из 1с? Ну так вызовите свое приложение камеры. Я вот это люблю https://play.google.com/store/apps/details?id=fr.xplod.focal&hl=ru
48. Сергей Сторожев (ssa) 04.02.15 13:24 Сейчас в теме
Спасибо. Но если я установлю еще одно приложение камеры, как указать, чтобы использовалось именно оно? Ведь может быть несколько подобных приложений на моб. устройстве.
49. Дмитрий Шерстобитов (DitriX) 2508 04.02.15 13:53 Сейчас в теме
(48) смотрите вот этот кусок в этой публикации "Как сделать фото (видео) в любом качестве?"
И при запуске - у вас будет вопрос - что выбрать. Выберите камеру и скажете что бы выбиралось всегда по умолчанию.
Либо можно доп параметрами указать конкретное приложение, как это сделать - указано в статье
kingartos; +1 Ответить
50. Сергей Сторожев (ssa) 04.02.15 14:11 Сейчас в теме
Понял, спасибо за разъяснение.
51. Марсель Бикмаметов (kingartos) 08.02.15 21:17 Сейчас в теме
Всем привет! Никто не пробовал работать с "распознователем речи"? Нашел статейку на эту тему(http://stackoverflow.com/questions/6316937/how-can-i-use-speech-recognition-without-the-annoying-dialog-in-android-phones) только у меня ничего не выходит (видимо потому что в этом неразбираюсь) может кто то уже пробовал если да до выложите плиз кусочек кода))
52. Тимур Мансорунов (solarisman) 111 04.03.15 17:10 Сейчас в теме
Подскажите, как сделать таким образом, чтобы при открытии формы курсор сразу вставал на поле, чтобы сканирование выполнялось в поле ввода? Приходится "тапать" на поле, после чего выполнять сканирование.
Нельзя ли, например, поставить стороннюю клавиатуру и вызвать событие "Enter" или "Tab"?
53. Дмитрий Шерстобитов (DitriX) 2508 05.03.15 18:14 Сейчас в теме
(52) баг платформы, увы, эта опция доступно только в 8.3.4.17, во всех остальных - не работает. А вам с какой целью?
54. Тимур Мансорунов (solarisman) 111 07.04.15 20:28 Сейчас в теме
Каким образом можно мобильное приложение развернуть на весь экран? Толком так и не разобрался, но тут написано, что для API 16 и выше работает только метод
View decorView = getWindow().getDecorView();
// Hide the status bar.
int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
// Remember that you should never show the action bar if the
// status bar is hidden, so hide that too if necessary.
ActionBar actionBar = getActionBar();
actionBar.hide();
Показать


Можно ли этот код выполнить из 1С?
55. Дмитрий Шерстобитов (DitriX) 2508 09.04.15 11:48 Сейчас в теме
(54) не туда копаете, правьте манифест и там указывайте что хотите, только это нарушает лицензию 1с :)
56. Тимур Мансорунов (solarisman) 111 09.04.15 18:01 Сейчас в теме
(55) Было бы все так просто. Правка манифеста - не панацея. Опробовали на разных устройствах, и в зависимости от параметров экрана снизу остается полоса высотой до 100 пикселей. На смартфонах от 3,5 до 4" работает норм. На смарте 5" остается совсем небольшая полоса снизу, почти незаметная, а вот на ТСД - бидапичаль. Причем после закрытия окон в этой полосе отображается шапка окна (глюк?)
В приложении это видно. При правке манифеста единственное, что меняется - скрывается статусбар

Прикрепленные файлы:
57. Дмитрий Шерстобитов (DitriX) 2508 09.04.15 19:37 Сейчас в теме
(56) ну это таки глюк, на партнерке о нем вроде как говорили, а вообще отправьте в 1с инфу, зарегят и исправят.
58. Денис Никитин (DeniNikitin) 30 20.05.15 16:41 Сейчас в теме
Здравствуйте!

Ну а где сама утилита для реализации кода?

Процедура ПроверитьВзаимодействие(Команда)
    НовВз=Новый ЗапускПриложенияМобильногоУстройства();
    НовВз.Действие="com.ditrix.ownaction.SHOW_TOAST"
    НовВз.ДополнительныеДанные.Добавить("com.ditrix.ownaction.EXTRAS_MESSAGE","Данные");

    Сообщить(НовВз.Запустить(Истина));

    Для Каждого Стр ИзНовВз.ДополнительныеДанные Цикл
        Сообщить(Стр.Ключ+" - "+Стр.Значение);
    КонецЦикла;
КонецПроцедуры
Показать


Это для простого сообщения, а вот это действие для пуша:

"com.ditrix.ownaction.SHOW_NOTIFICATION"
При этом вам вернется ответ в виде 3 данных разных типов.
59. Дмитрий Шерстобитов (DitriX) 2508 20.05.15 20:26 Сейчас в теме
60. Денис Никитин (DeniNikitin) 30 21.05.15 17:58 Сейчас в теме
Я не много не понял скачал apk, установил, прописал Ваш код по отправке push и toast, в итоге не получил ни push ни toast сообщений, расскажите как использовать?
61. Денис Никитин (DeniNikitin) 30 21.05.15 18:01 Сейчас в теме
(60) DeniNikitin,
Извиняюсь просмотрел всё работает корректно!
62. Денис Никитин (DeniNikitin) 30 21.05.15 18:07 Сейчас в теме
А никак нельзя иконку и текст "Notification" заменить?
63. Дмитрий Шерстобитов (DitriX) 2508 21.05.15 18:19 Сейчас в теме
(62) увы, это ограничения Андроида, можно выставлять только те иконки, которые находятся в ассетах приложения, т.е. при компиляции.
64. Денис Никитин (DeniNikitin) 30 22.05.15 05:37 Сейчас в теме
(63) DitriX,
Если я правильно понял скачиваю ваши исходники меняю там иконку компилирую и будет другая иконка?
65. Дмитрий Шерстобитов (DitriX) 2508 22.05.15 12:14 Сейчас в теме
(64) ну если именно заменить, то да, а если добавить еще одну, то надо код дописывать.
66. Денис Никитин (DeniNikitin) 30 26.05.15 12:57 Сейчас в теме
(63) DitriX,
Подскажи в какой среде разработки написан проект? Какой IDE использовал?
67. Дмитрий Шерстобитов (DitriX) 2508 26.05.15 13:39 Сейчас в теме
(66) не помню, или идея или эклипс
68. Денис Никитин (DeniNikitin) 30 27.05.15 16:44 Сейчас в теме
Здравствуйте!

А есть пример, что сделать с этой штукой:
НовВз = Новый ЗапускПриложенияМобильногоУстройства();
    НовВз.Действие = "android.intent.action.GET_CONTENT";
?
69. Денис Никитин (DeniNikitin) 30 27.05.15 17:08 Сейчас в теме
(68) DeniNikitin,
Что возвращает, как вытащить расширение и.т.д.?
70. Денис Никитин (DeniNikitin) 30 27.05.15 17:17 Сейчас в теме
Приношу извинения пример есть:
НовВз = Новый ЗапускПриложенияМобильногоУстройства();
НовВз.Действие = "android.intent.action.GET_CONTENT";
//Указываем тип искомых файлов, нас интересует только фото
НовВз.Тип = "image/*"; //"file/*"; //"*/*"
//Говорим что интересуют только локальные данные, а не облачные
НовВз.ДополнительныеДанные.Добавить("android.intent.extra.LOCAL_ONLY",Истина);
РезультатРаботы = НовВз.Запустить(Истина);
Если НЕ РезультатРаботы Тогда
    Сообщить("Файл не выбран!");
    Возврат
КонецЕсли;
ПутьКФайлу = НовВз.Данные;
Показать

Но я понимаю он возвращает uri, а как из него получить двоичные данные? Если можно пример?
71. Дмитрий Шерстобитов (DitriX) 2508 28.05.15 10:06 Сейчас в теме
(70) URI - это путь к файлу, а как из файла вытащить двиочные данные - точно так же как и в стационарной, и читайте камменты, тут был пример с картинкой
72. Денис Никитин (DeniNikitin) 30 28.05.15 11:24 Сейчас в теме
(71) DitriX,
Если URI - Путь к файлу, тогда должно работать

ДвоичныеДанные = Новый ДвоичныеДанные(НовВз.Данные); 

Но не работает пишет "Недопустимое значение параметра №1"

Попробовал:
	  	Картинка = Новый Картинка(НовВз.Данные);
	  	СтрокаПуть = Картинка.ПолучитьДвоичныеДанные();

Выдаёт Файл не обнаружен "file://content://external/images/media/10466"

В примерах посмотрел с картинкой примера нет, если только не прописывать строкой ФайлКартинки = "file:///sdcard/Download/FotoTestFrom1C.bmp";

Подскажите куда копать?
73. Денис Никитин (DeniNikitin) 30 28.05.15 13:01 Сейчас в теме
(71) DitriX, И ещё заметил такую вещь, что после выбора картинки мне возвращается строка "content://external/images/media/10466", а по факту в total commander смотрю там файл img_.....jpg? Точно путь возвращается в Данные?
74. Дмитрий Шерстобитов (DitriX) 2508 28.05.15 13:05 Сейчас в теме
(73) верн. Так вы выюираете через последние данные. Хотите так выбирать, тогда надо выпрямить ссылку. Читайте в другой статье про утилиты
75. Денис Никитин (DeniNikitin) 30 28.05.15 13:10 Сейчас в теме
(74) DitriX,
А ссылку на статью можно?
77. Дмитрий Шерстобитов (DitriX) 2508 28.05.15 15:24 Сейчас в теме
(75)http://infostart.ru/public/310565/
(76) нет. Во всяком случае - я не знаю как это сделать из 1с
76. Денис Никитин (DeniNikitin) 30 28.05.15 13:40 Сейчас в теме
Нашёл пример на яве
if(resultCode==RESULT_OK){
String FilePath = data.getData().getPath();
textFile.setText(FilePath);
}
А ни как нельзя этот getPath() в каких-нибудь свойствах ЗапускПриложенияМобильногоУстройства тоже прикрутить?
78. Денис Никитин (DeniNikitin) 30 28.05.15 16:59 Сейчас в теме
Спасибо! Использовал функцию ПолучитьUriИзContent(Путь) и всё как надо!
79. Денис Никитин (DeniNikitin) 30 28.05.15 17:10 Сейчас в теме
Вопросит по фото из 1С

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


Чтобы он в галерее отображался? А то у меня физически есть а в галереи нету?
80. Дмитрий Шерстобитов (DitriX) 2508 28.05.15 17:48 Сейчас в теме
(79) не понял вопрос, можете уточнить?
81. Денис Никитин (DeniNikitin) 30 28.05.15 20:51 Сейчас в теме
(80) DitriX,
Смысл в следующем, код работает и файл сохраняет, но при этом захожу в галерею андроида, его там нет! Через total commander - есть! Вы в андроиде больше понимаете, скорей всего есть какой-то параметр, который надо подключить, чтобы в галерее отображался!
82. Дмитрий Шерстобитов (DitriX) 2508 28.05.15 20:56 Сейчас в теме
(81) ну для начала путь укажите верный: file:///sdcard/DCIM/Camera/FotoTestFrom1C.jpg
83. Денис Никитин (DeniNikitin) 30 29.05.15 06:19 Сейчас в теме
(82) DitriX, Дело не в пути, я галерею открываю и у меня там по папкам фото отображается и в том числе есть папка DCIM, и которые файлы там лежат они отображаются кроме того, что сфотал интентом!
84. Дмитрий Шерстобитов (DitriX) 2508 29.05.15 10:09 Сейчас в теме
(83) очень интересно. Может расширение файла не совпадает с его реальным типом?
Тут я затрудняюсь ответить. У меня галерея подхватывает все. Так что тут скорее всего вопросы именно в вашей галерее.
85. Andrey Rozhkov (Andrey_R91) 23.07.15 15:52 Сейчас в теме
Подскажите, как можно открыть html-файл через браузер? Какой MIME-тип нужно указывать чтобы запустился браузер? Или само название приложения (к примеру "com.google.android.gm")
86. Дмитрий Шерстобитов (DitriX) 2508 23.07.15 16:56 Сейчас в теме
(85) так вы же сами ответили.
берите за пример открытие контакта в вибере
90. Enot tut (enot_tut) 1 27.07.15 20:19 Сейчас в теме
(86) DitriX, помоги пожалуйста
87. Valera Starovoytov (zwitter) 27.07.15 08:28 Сейчас в теме
79. А диктофон встроенный никто не пробовал запускать?
а то метод СделатьАудиозапись меня не совсем устраивает.
88. Valera Starovoytov (zwitter) 27.07.15 17:49 Сейчас в теме
НП = Новый ЗапускПриложенияМобильногоУстройства("android.provider.MediaStore.RECORD_SOUND");
89. Enot tut (enot_tut) 1 27.07.15 18:45 Сейчас в теме
помогите исправить при загрузке фотографий из телефона фотка не отоброаеться а при добовление с компа все норм
&НаКлиенте
Процедура ДобавитьКартинку(Команда)
ИмяФайла = "";
ПутьФайла = "";
//Вызываем Диалоговое окно и помещаем файл Картинки из локальной файловой системы во временное хранилище
Если ПоместитьФайл(ПутьФайла, , ИмяФайла, Истина) = Истина Тогда
 
//в строковый реквизит ФОТО нашей формы сохраняем ссылку на Картинку во временном хранилище
Фото = ПутьФайла;
//для создания нового элемента в Справочнике Файлы и записи Картинки в его реквизит Файл
//переходим на сервер с помощью вызова серверной процедуры
УстановитьКартинку();
КонецЕсли; 
//условие ЕСЛИ нужно для того, чтобы если пользователь отказался от выбора файла
//мы не вызывали серверную процедуру УстановитьКартинку()

    #Если МобильноеПриложениеКлиент Тогда
	НовВз = Новый ЗапускПриложенияМобильногоУстройства();
    НовВз.Действие = "android.intent.action.GET_CONTENT";
//Указываем тип искомых файлов, нас интересует только фото
    НовВз.Тип = "image/*"; //"file/*"; //"*/*"
//Говорим что интересуют только локальные данные, а не облачные
    НовВз.ДополнительныеДанные.Добавить("android.intent.extra.LOCAL_ONLY",Истина);
    РезультатРаботы = НовВз.Запустить(Истина);
    Если НЕ РезультатРаботы Тогда
        Сообщить("Файл не выбран!");
    Возврат
    КонецЕсли;
    ПутьКФайлу = НовВз.Данные;
    Если ПоместитьФайл("что вписать сюда?", , Истина) = Истина Тогда
  Фото = "что вписать сюда?";
УстановитьКартинку();
КонецЕсли; 
    #КонецЕсли
КонецПроцедуры

&НаСервере
Процедура УстановитьКартинку()
//создаем новый элемент в Справочнике Файлы
НовыйФайлКартинки = Справочники.Файлы.СоздатьЭлемент();
//в реквизит СправочникаФайлы Файл помещаем выбранную ранее Картинку
НовыйФайлКартинки.Файл = Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(Фото));
Фото = ПоместитьВоВременноеХранилище(НовыйФайлКартинки.Файл.Получить());
//записываем новый элемент справочника Файлы
НовыйФайлКартинки.Записать();

//устанавливаем значение реквизита Картинка Справочника Сотрудники
Объект.Картинка = НовыйФайлКартинки.Ссылка;
КонецПроцедуры

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
//отображение картинки при открытии формы справочника
Фото = ПолучитьНавигационнуюСсылку(Объект.Картинка, "Файл");

//устанавливаем автомасштаб для картинки
Элементы.Фото.РазмерКартинки = РазмерКартинки.АвтоРазмер;
КонецПроцедуры
Показать
91. Дмитрий Шерстобитов (DitriX) 2508 27.07.15 21:54 Сейчас в теме
(89) я не понял из кода - что он делает, и не понял - в чем проблема.
Напишите внятно :) Вам проблема понятна, а мне нет.

По пунктам.
1. Не отображается где? В самой форме?
2. Какие значения в переменных? Например, какой путь у фото получается. Прочитайте в этой же статье 70 комментарий и ниже.
3. Что значит при добавлении компа? Вы фото синхронизируете? Или что?

Идеальный вариант - дайте просто обработку, в которой четко понятно, что вы хотите сделать, и что не получается.
92. Enot tut (enot_tut) 1 27.07.15 23:24 Сейчас в теме
(91) DitriX, при добавление с компьютера
фотография добавляться на мобильном устройств а также на компьютере,
а при добавление с мобильного устройства фотка не где не отоброжаеться
Прикрепленные файлы:
Оставьте свое сообщение