Документация к мобильному приложению 1С-Битрикс очень куцая. В основном описывает функционал добавляемый BXMobileApp. Хотя, там вскользь и упомянута работа с железом устройства. Явно не хватает примеров реализации данной возможности. Восполняю сей пробел.
На самом деле, под капотом Битрикс: мобильное приложение обычный PhoneGap, хотя и немного на стероидах. Реализующий некоторые не стандартные для PhoneGap фичи (модуль CMobile)
Соответсвенно, можно абсолютно спокойно пользоваться документацией к Cordova - все базовые возможности работают штатно. Дальше просто примеры. С более тонкими моментами, думаю разберетесь.
Плагин умеет брать и загружать фотографии с устройства. Как из медиа библиотеки, так и напрямую с камеры.
Скрипт обработчик
var pictureSource; var destinationType; document.addEventListener("deviceready",onDeviceReady,false); function onDeviceReady() { pictureSource=navigator.camera.PictureSourceType; destinationType=navigator.camera.DestinationType; } function onPhotoDataSuccess(imageData) { var smallImage = document.getElementById('smallImage'); smallImage.style.display = 'block'; smallImage.src = "data:image/jpeg;base64," + imageData; } function onPhotoURISuccess(imageURI) { var largeImage = document.getElementById('largeImage'); largeImage.style.display = 'block'; largeImage.src = imageURI; } function capturePhoto() { navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50, destinationType: destinationType.DATA_URL }); } function getPhoto(source) { navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 50, destinationType: destinationType.FILE_URI, sourceType: source }); } function onFail(message) { alert('Failed because: ' + message); }
Кнопки вызова
<button onclick="capturePhoto();">Сфотографировать</button> <br> <button onclick="getPhoto(pictureSource.PHOTOLIBRARY);">Загрузить из биботеки</button><br> <button onclick="getPhoto(pictureSource.SAVEDPHOTOALBUM);">Загрузить из альбома</button><br> <img style="display:none;width:60px;height:60px;" id="smallImage" src="" /> <img style="display:none;" id="largeImage" src="" />
Выведет на экран полные данные о местоположении пользователя. При чем, это не определение по IP или сотовым вышкам. Это именно данные с GPS модуля
Скрипт обработчик
document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { navigator.geolocation.getCurrentPosition(onSuccess, onError); } function onSuccess(position) { var element = document.getElementById('geolocation'); element.innerHTML = 'Latitude: ' + position.coords.latitude + '<br>' + 'Longitude: ' + position.coords.longitude + '<br>' +
'Altitude: ' + position.coords.altitude + '<br>' +
'Accuracy: ' + position.coords.accuracy + '<br>' +
'Altitude Accuracy: ' + position.coords.altitudeAccuracy + '<br>' +
'Heading: ' + position.coords.heading + '<br>' +
'Speed: ' + position.coords.speed + '<br>' +
'Timestamp: ' + position.timestamp + '<br>';
} function onError(error) { alert('code: ' + error.code + '\n' + 'message: ' + error.message + '\n'); }
Вывод информации
<p id="geolocation">Получение данных с GPS...</p>
Можно получить всю информацию об устройстве. Модель, уникальный индетификатор, операционную систему и.т.д.
document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { var element = document.getElementById('device'); element.innerHTML = 'Операционная система' + device.platform + '<br>' 'Модель телефона' + device.model + '<br>'
'UUID телефона' + device.uuid + '<br>';
}
Вывод
<p id="device">Получение данных об устройстве...</p>
В общем-то, возможностей достаточно много. От получения и создания контактов в телефонной книге, до загрузки и сохранения файлов с/на устройство.
Больше примеров в официальной документации Cordova тут
У меня, Вы можете заказать разработку и публикацию мобильного приложения для магазина, портала, информационного ресурса.
![]()
Дмитрий Кривой
|
Прошу прощения, Михаил. На основе одной статей на тему разработки мобильного приложения Битрикс (и с учётом этой) хотелось бы уточнить - действительно ли функциональность уже встроенных библиотек никак не расширить?
Например, для расширения функциональности Cordova используются плагины, которые можно, конечно же, установить. Но а у Битрикса что, совсем никак? Допустим, есть плагин, который позволяет включить/отключить вспышку на телефоне. И, получается, в рамках Битрикса я могу попрощаться с этой нужной для некоторых случаев функцией? Буду очень благодарен за ответ. |
![]()
Михаил Базаров
|
||
|
||
На нем, уже много видеоуроков по 1С-Битрикс. Как одиночные видео так и серии видеоуроков Перейти на канал
Совсем скоро выйдет видеокурс по разработке доски объявлений с мобильным приложением. Подписывайтесь и будьте в курсе: