Разрабатывая программу под 1с для мобильной платформы столкнулся с проблемой, что для текущей версии мобильной платформы нет возможности произвести вибрацию устройства вызвав какую нибудь команду 1с. Мне это необходимо было сделать в случае если пользователь указал неправильный пароль.
Посмотрев возможности 1с единственное что предлогалось для связи с внешним миром(другими программами) команда ЗапуститьПриложение(СтрокаКоманды,ТекущийКаталог,ДождатьсяЗавершения,КодВозврата).
В параметр СтрокаКоманды передаю имя файла и запускается ассоциированная с ним программа в данном случае Intenter.
В программе Intenter проверяю название файла которое пришло с 1с и запускаю функцию которая с ним связана. т.е. название файла в параметре это функция запускаемая в Intenter.
Что первым делом реализовал. Это проигрывание файлов и вибрация устройства(длинная и короткая). Что для этого пришлось сделать.
— Установить программу Intenter на устройство.
— Указать в настройках путь до звуковых файлов. «//mnt/sdcard/intenter» — каталог intenter необходимо создать вручную.
— В каталог положить файлы s1.ogg, s2.ogg, s3.ogg.
— Запустить в 1с команду ЗапуститьПриложение(«file:///s1.ogg») и при ассоциации файлов указать флаг «По умолчанию для этого действия» и указать Intenter (в android 4 точно так).
Учитывайте что Intenter ассоциируется только с файлами ogg(незнаю почему их выбрал видимо понравились) так что если у вас в данный момент эти файлы привязаны к другой программе то такое действие не получиться.
Заметил что в первый раз программа Intenter запускается дольше, но в дальнейщем ее работу даже не замечаешь при запуске.
На данный момент реализованные команды :
— воспроизведение звука — команда s1,s2,s3
— вибрация устройства (короткая) — команда vshort
— вибрация устройства (длинная) — команда vlong
— включение wifi — команда wifi_on
— выключение wifi — команда wifi_off
— включение bluetooth — команда bt_on
— выключение bluetooth — команда bt_off
Возможно запустить указав несколько файлов и тем самым запустить несколько команд. Например:
ЗапуститьПриложение(«file:///s1vshort.ogg»); — воспроизводим звук 1 и короткую вибрацию.
Программу выложил на плей так что качайте и тестируйте
https://play.google.com/store/apps/details?id=org.mruslanm.android.intenter
В файлах выложил конфу и apk для примера работы с Intenter.
Если времени хватит возможно реализую нотификацию и подключение устройства по блютуз указав адрес устройства. а так в этой программе можно многие функции реализовать которых пока нет в 1с. так что если будут мысли скидывайте
Прикольные
А GPS включить можете?
не пробовал конечно но у 1с есть встроенный «Геопозиционирование» разве через него нельзя включить?
Мне кажется, имеет смысл сделать возможным вызывать произвольный Intent (по строке, например), нежели возиться с доработкой программы под каждый отдельный случай..
А почему именно ogg? Можт, имеет смысл выбрать менее распространенное расширение?
Хотя, кстати, я думаю, что 1сники в ближайших мобильных платформах прямо-таки обязаны разродиться поддержкой интентов..
(4) не факт.
(0) крутая идея! можно дальше прикидывать как использовать: свой обмен по FTP например реализовывать…
Да, применение очень широкое — идея хорошая.
Жаль ,что разрабы сразу этого не сделали.
Отличные костыли для мобильной платформы. Нотификация очень нужна.
ЗапуститьПриложение не дожидается окончания работы запущенного приложения 🙁
Надо же, до чего продвинулся 1с! Идея просто крутая.
(2) чаще всего криво работает.
Интересная штука. Было бы не плохо попрооавть.