Разрабатывая программу под 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с. так что если будут мысли скидывайте