Upload
others
View
17
Download
0
Embed Size (px)
Citation preview
НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ «МЭИ»
Институт Инженерно Экономический Кафедра Прикладная и бизнес информатика
Ст. преподаватель Н.А. БудановаВ лекциях использованы материалы Летней школы Исследовательского центра Самсунг
Управление устройством спомощью Tizen API
ⓒ 2016. Digital Media & Communications R&D Center. All rights reserved.
Управление устройством с помощью Tizen API
• Tizen API
• Управление вибромотором
• Включение и выключение Bluetooth
• Получение информации о Wi-Fi
• Вывод изображения с камеры в приложение
ⓒ 2016. Digital Media & Communications R&D Center. All rights reserved.
API
Tizen Web Device API, основанный на JavaScript, предоставляетрасширенный доступ к аппаратным возможностямплатформы.
С помощью Tizen Web Device API можно создаватьнасыщенные Интернет-приложения, управлять жизненнымциклом приложений, обмениваться данными.
ⓒ 2016. Digital Media & Communications R&D Center. All rights reserved.
API
https://developer.tizen.org/devguide/2.4/org.tizen.web.apireference/html/device_api/mobile/
API•Создадим кнопки, позволяющие управлять вибромотором в телефоне
•Рассмотрим доступ к Bluetooth адаптеру на Tizen
ⓒ 2016. Digital Media & Communications R&D Center. All rights reserved.
Доступ к информации о системе
Web applications can use this API to access the following systemproperties:•BATTERY•BUILD•CAMERA_FLASH (Since: 2.4)•CELLULAR_NETWORK•CPU•DEVICE_ORIENTATION•DISPLAY•ETHERNET_NETWORK (Since: 2.4)•LOCALE (Since: 2.1)•MEMORY (Since: 2.3)•NETWORK•PERIPHERAL (Since: 2.1)•SIM•STORAGE•WIFI_NETWORKNot all above properties may be available on every Tizen device. Forinstance, a device may not support the telephony feature. In thatcase, CELLULAR_NETWORK and SIM are not available.
ⓒ 2016. Digital Media & Communications R&D Center. All rights reserved.
Функция getCapability()
To check the available SystemInfoPropertyId,use tizen.systeminfo.getCapability().•BATTERY - tizen.systeminfo.getCapability("http://tizen.org/feature/battery")•CAMERA_FLASH -tizen.systeminfo.getCapability("http://tizen.org/feature/camera.back.flash")•CELLULAR_NETWORK -tizen.systeminfo.getCapability("http://tizen.org/feature/network.telephony")•DISPLAY - tizen.systeminfo.getCapability("http://tizen.org/feature/screen")•ETHERNET_NETWORK -tizen.systeminfo.getCapability("http://tizen.org/feature/network.ethernet")•SIM -tizen.systeminfo.getCapability("http://tizen.org/feature/network.telephony")•WIFI_NETWORK -tizen.systeminfo.getCapability("http://tizen.org/feature/network.wifi")
https://developer.tizen.org/dev-guide/2.4/org.tizen.web.apireference/html/device_api/mobile/tizen/systeminfo.html#SystemInfoOptions
ⓒ 2016. Digital Media & Communications R&D Center. All rights reserved.
Получение видео потока с камеры
• navigator.getUserMedia() - перехват данных с веб-камер и микрофонов непосредственно, то есть без помощи плагинов
• Доступ к камере осуществляется по запросу
• Эта возможность встроена в браузер
ⓒ 2016. Digital Media & Communications R&D Center. All rights reserved.
Доступ к веб-камере и микрофону
Для доступа к веб-камере или микрофону необходимо запросить разрешение. Первый параметр метода getUserMedia() определяет
тип данных, к которым запрашивается доступ. Например, есличтобы обратиться к веб-камере, необходимо задать для негозначение video. Чтобы использовать одновременно камеру и
микрофон, нужно указать video, audio.
Доступ к веб-камере и микрофону
navigator.getUserMedia('video, audio', onCaptureVideoSuccess.bind(this),onCaptureVideoError.bind(this));
Интерфейсы прикладного программирования Tizen
API Описание Мобильные приложения
Поддержка в мобильном эмуляторе
Tizen Common
Tizen Основной объект для доступа к Tizen Web Device API
Обязательный Да
Application
Alarm Этот API предоставляет функциональные возможности для включения и отключения сигналов тревоги
Обязательный Да
Application Этот API предоставляет информацию о запущенных и установленных приложений и контролирует их
Обязательный Да
Data Control Этот API предоставляет интерфейсы и методы для доступа к определенным данным, экспортированным в другие приложения
Обязательный Да
Package Этот API предоставляет информацию об установке/удалении пакетов и получает информацию об установленных пакетах.
Обязательный Да
API Описание Мобильные приложения
Поддержка в мобильном эмуляторе
Communication
Bluetooth Этот API позволяет контролировать Bluetooth.
Необязательный Нет
Messaging Этот API позволяет отправлять и получать SMS, MMS, E-mail
Необязательный Только электронная почта
Network Bearer Selection
Этот API предоставляет интерфейсы и методы пользователям для установки сетевого канала для конкретного IP-адреса.
Необязательный Нет
NFC Этот API позволяет получить доступ к устройству (м) NFC
Необязательный Нет
Push Этот API предоставляет возможности для получения Push уведомлений
Необязательный Да
Secure Element Этот API предоставляет интерфейсы и методы для доступа к Secure Elements
Необязательный Нет
API ОписаниеМобильные
приложения
Поддержка в
мобильном эмуляторе
Content
Content Этот API предоставляет
функциональные
возможности для
обнаружения
мультимедийного
контента (например,
изображений, видео
или музыки)
Обязательный Да
Download Этот API предоставляет
интерфейсы и методы
для загрузки удаленных
объектов с помощью
HTTP запроса
Обязательный Да
Exif Этот API предоставляет
интерфейсы и методы
для манипулирования
данными Exif из файла в
формате JPEG.
Обязательный Да
API ОписаниеМобильные
приложения
Поддержка в
мобильном
эмуляторе
Input/Output
Archive Этот API предоставляет
интерфейсы и методы, для
создания архивного файла, а
также различные другие виды
манипуляции (например,
извлечение файлов, добавление
файлов в архивный файл).
Обязательный Да
Filesystem Этот API обеспечивает доступ к
файловой системе устройства.
Этот API может быть устаревшими
в будущем, когда W3C API смогут
получать доступ к системным
файлам веб-приложений.
Обязательный Да
Message Port Этот API предоставляет
возможности для общения с
другими приложениями
Обязательный Да
API ОписаниеМобильные
приложения
Поддержка в
мобильном
эмуляторе
Multimedia
Media Key Этот API предоставляет доступ к уведомлению о
том, что кнопка media нажата или высвобождена
Необязательный Нет
Sound Этот API предоставляет способ управления
уровнем громкости звука
Обязательный Да
Social
Account Этот API предоставляет интерфейсы и методы для
управления учетными записями (например,
создать учетную запись, изменить данные
учетной записи).
Обязательный Да
Bookmark Этот API предоставляет интерфейсы и методы для
доступа к закладкам.
Обязательный Да
Calendar Этот API позволяет управлять информацией
календаря
Обязательный Да
Call History Этот API предоставляем доступ к журналу
вызовов сотовой связи и VoIP звонков.
Необязательный Нет
Contact Этот API позволяет управлять контактной
информацией.
Обязательный Да
Data Synchronization Этот API предоставляет методы для
синхронизации данных с устройства на сервер,
используя протокол OMA DS 1.2
Необязательный Нет
API ОписаниеМобильные
приложения
Поддержка в
мобильном
эмуляторе
System
FM Radio Этот API предоставляет интерфейсы и методы для
прослушивания FM-радио
Необязательный Да
Human Activity Monitor Этот API предоставляет интерфейсы и методы для
получения данных о деятельности человека от
различных сенсоров на устройстве
Необязательный Да Только
HRM
Power Этот API предоставляет интерфейсы и методы для
управления батареей
Обязательный Да
Sensor Этот API предоставляет интерфейсы и методы для
получения данных от различных датчиков,
установленных на устройстве
Необязательный Да
System Information Этот API предоставляет информацию о дисплее,
сетевых устройствах, хранилище и т.д.
Обязательный Да
System Setting Этот API предоставляет функциональные
возможности по настройкам системы
Обязательный Да
Time Этот API предоставляет информацию о дате,
времени и часовых поясах
Обязательный Да
Web Setting Этот API управляет настройками состояния веб-
просмотра в веб-приложениях
Обязательный Да
API Описание Мобильные приложенияПоддержка в мобильном
эмуляторе
User Interface
Badge Этот API предоставляет
способ отображения
счетчика уведомлений
(значки) на главном
экране.
Обязательный Да
Notification Этот API предоставляет
возможность
уведомления
пользователя о
событиях,
происходящих в
приложении
Обязательный Да
Безопасность и привилегии API
Для эффективной защиты системы мобильныхустройств и личных данныхпользователей, архитектура безопасности Tizenоснованная модели безопасности Linux, основанная напривилегиях и подписи приложений, включающая всебя изоляцию процессов и обязательный контрольдоступа.
Поскольку Tizen является открытой мобильнойплатформой, то она обеспечивает широкий спектрвозможностей для пользователей с различнымиприложениями, чувствительными к безопасности.
• Приложения, использующие такие чувствительные к безопасности API, должны объявлять необходимые привилегии в файле config.xml.
• Если приложение вызывает привилегированное API, Tizen проверяет наличие привилегии в файле config.xml. Если привилегия в файле отсутствует, то система запрещает выполнение приложений.
• Tizen IDE также обеспечивает инструменты проверки привилегий в исходном коде приложения, на предмет каких-либо нарушений привилегий.
В следующей таблице приводятся образцы привилегий, обязательных к декларированию.
Привилегия Уровень Название Описаниеhttp://tizen.org/privilege/account.read
public Чтение учетной записи Приложение может читать учетную запись
http://tizen.org/privilege/account.write
public Управление аккаунтами Приложение может создавать, редактировать и удалять учетные записи.
http://tizen.org/privilege/alarm
public Установка будильников Установка будильника
http://tizen.org/privilege/application.info
public Получение информации о приложениях
Приложение может извлекать информацию, связанную с другими приложениями.
http://tizen.org/privilege/application.launch
public Открытие приложений Приложение может открывать другие приложения, использующие ID приложения или управлять приложениями.
http://tizen.org/privilege/appmanager.certificate
partner Получение сертификата приложения
Приложение может запрашивать сертификат
http://tizen.org/privilege/appmanager.kill
partner Закрытие приложения Приложение может закрывать другие приложения.