Категория: Android
Главная ? Android OS ? Как заблокировать и отыскать Android смартфон если его украли. Часть 2
Вторая часть статьи посвященная возможным форс-мажорам связанных с утерей либо кражей, телефона на android OS.
Второй способ как справится с такими неприятностями. И здесь все просто! Вам поможет новый встроенный в операционную систему Android, инструмент который появился в августе 2013-го года. Он активен на всех “андроидах”, даже если ваш смартфон имеет раннюю версии “операционки”, функция доступна без всяких обновлений.
Зная о новых возможностях теперь вам не страшны будут утери и кражи или по крайней мере вы будете знать как действовать в таких ситуациях.
Как найти android телефонДля поиска места нахождения или принудительного беспрерывного звонка, не нужно устанавливать или как то настраивать ваш смартфон. А вот для удаления на расстоянии, вашей конфиденциальной информации на телефоне, необходимо поставить галочку в диспетчере устройства. Эта манипуляция займет у вас меньше минуты.
Обновление в 2014 году принесло возможность заблокировать андроид-устройство на расстоянии.
Даже если вы думаете что эти функции вам никогда не пригодится, нет ни одной причины чтобы не воспользоваться всем набором возможностей которые вам предлагает Google в своей мобильной ОС.
Включение диспетчера устройства androidНовая функция по умолчанию отключена, ее нужно активировать в диспетчере устройства, для этого вам нужно открыть — “Настройки Google” > далее открыть пункт “Безопасность” > далее перейти в “Администраторы устройства” и поставьте галочку, после чего откроется новое окно для подтверждения, в котором вам нужно нажать > “Активировать”. Вот и все что требуется для удаленной манипуляции.
Для того чтобы найти местоположение или удаленно управлять утерянным/украденным андроид устройством вам необходимо с компьютера зайти на страницу www.google.com/android/devicemanager предварительно подтвердив вход в аккаунт и принять условия использования местонахождения.
Выполнив эти несложные шаги вы выбираете ваше “горе-устройство” попавшее в беду и определяетесь как будите поступать. По мимо этого на карточке, вы видите время полученной информации, место положение с точностью примерно до 25 м. под карточкой находится карта с меткой нахождения устройства.
С помощью “Удаленного управления android” вы оперативно можете выполнить вышеперечисленные действия, чтобы поскорее вернуть свое android-устройство. А еще это прекрасная возможность знать, где в данный момент находятся ваш ребенок, конечно же при условии что вы сможете подтвердить аккаунт владельца, при в ходе на сервис.
Комментируйте и подписывайтесь на уведомления о новых статьях блога «Твой android».
История перемещения Андроид-смартфона
Планшеты и смартфоны на базе Android обладают отличным функционалом в силу большого выбора приложений которые можно бесплатно скачать с гугл маркета. Но кроме этого, всеми нами любимый Google предоставляет сервисы отслеживания перемещения Андроид-устройств, удаленной блокировки устройства и в случаях потери, экстренной, удаленной очистки.
Как Google определяет местоположениеИтак, давайте разберемся как Google определяет местоположение. Местоположении гугл вычисляет с помощью:
Наиболее эффективно, точнее и быстрее местонахождение устройства определяется если на смартфоне активированы GPS и Wi-Fi.
Большой плюс определения через Wi-Fi состоит в том, что по присвоенному устройству IP-адресу уже можно найти приблизительное местоположение, а под открытым небом, на открытом пространстве GPS определяет его еще лучше. В связке, все эти включенные службы позволяют гугл определить местоположение Android-устройства с точностью до несколько метров.
История перемещений AndroidGoogle предоставляет очень удобный онлайн-сервис, с помощью которого любой зарегистрированный пользователь сможет в реальном времени увидеть на карте историю и точную траекторию перемещения Андроид-устройства.
Для того чтобы начать работу с сервисом нам необходимо зарегистрироваться в системе Google. Если у вас уже есть почта, просто авторизируйтесь с помощью логина и пароля вашей почты. Сделать это можно здесь .
Для просмотра истории перемещений Google рекомендует использовать свой браузер Chrome, желательно последней версии). Хотя у меня прекрасно работает и в браузере Safari и в Firefox.
Наверху с лева находится календарь. В нем пользователь может выбирать интересующую его дату. После чего на карте отобразится красная линия перемещений, с точной траекторией движения.
Внизу находится шкала времени. Наведите на нее мышкой и перемещайте вдоль. При этом на карте вы будете видеть, где в каждый отдельный промежуток времени находилось устройство.
Как удалить историю перемещенийПользователь может удалить историю перемещений полностью или удалить данные за определенный период. Для того чтобы удалить всю историю необходимо нажать на кнопку Удалить всю историю .
Если вы хотите удалить историю перемещений за конкретный, определённый промежуток времени, то вам необходимо сначала выбрать интервал в поле Показать. а потом нажать на кнопку Удалить данные за этот период .
Итак, мы с вами разобрались с тем как отслеживать местонахождение Андроид-устройства. Теперь я хочу рассказать как отключить данную функцию.
Знаете вы или нет, но история всех ваших перемещений хранится с самого первого дня, когда у вас только появился смартфон или планшет на базе Android, и что еще больее интересно, она не очищается автоматом. Т.е все данные о вашем передвижение оседают в недрах гугла. Если вы Вася Пупкин из 8б, это не принципиально но если вы подозреваете что за вами может быть установлена слежка, очень советую отключить сохранение истории перемещения.
Кстати, если вам необходимо проследить за человеком, вы можете узнать как это сделать прочитав статью «Как следить за человеком «.
Для отключения истории перемещений необходимо зайти на страницу настроек
Теперь нажимаем на кнопку Отключить .
Теперь в окне потверждения еще раз нажимаем на кнопочку Отключить .
Все, теперь вы знаете как следить за телефоном с помощью Google и как проверить не следят ли за вами.
Когда вы покупали свой смартфон или планшет наврядли вы задумывались. что когда то на нём начнут подвисать игры. прогресс идёт вперёд поэтому следует подумать о разгоне процессора вашего Android смартфона или о покупке нового. Я выбираю первый вариант.
Прежде чем разогнать процессор надо получить Root права. иначе ничего не выйдет. Свою модель вы можете найти через поиск по сайту. После их получения вам открываются большие возможности, с устройством можно делать фактически что угодно пользователю. Подробнее о возможностях прав суперпользователя написано здесь .
Для разгона я буду использовать Antutu Cpu Master — программа бесплатно доступна в google play market.
Пользоваться приложением очень просто. несмотря на английский язык. В главном окне мы видим ползунки Max и Min. на максимуме вы улучшаете производительность и уменьшаете время автономной работы смартфона. в общем быстро садите аккумулятор. На минимуме всё наоборот. если хотите поиграть в очень требовательную игру можете выставить всё на max и потом вернуть обратно.
Если вы хотите экономить время, зафиксируйте частоту процессора. чтобы она не слетала после перезагрузки, поставьте галочку "Set on boot" и уже при загрузке вы будете на нужной частоте. Но подходите к этому с осторожностью. не повышайте гигагерцы больше чем на 25%, иначе есть риск перегрева и гибели вашего устройства. Хотя данные случаи весьма редко встречаются на практике.
Видео по разгону
Как нас находят:Posted on 27 сентября 2014
Сегодня мы научимся как использовать Knock коды для разблокировки смартфона. всё будет показано на примере LG G3. В настоящее время существует множество способов разблокировки.
Posted on 16 августа 2014
Мне кажется LG начали обращать внимание на сторонние приложения, помогающие сохранить заряд батарее и стали кроить своё.
Posted on 16 августа 2014
Сегодня мы установим разные обои для каждого главного экрана на примере смартфона LG G3.Надо признать всем со временем надоедают стандартные обои. Мы начинаем уставать глядя на эту футбольную команду, машину, кота на экране. Пора.
Платформа Android предоставляет разработчику богатые коммуникационные возможности. Для работы с Bluetooth в состав Android входит мощный API, позволяющий легко производить сканирование окружающего пространства на предмет наличия готовых к соединению устройств, передачу данных между устройствами и многое другое.
Работа с Bluetooth состоит из четырех этапов: установка настроек bluetooth адаптера, поиск доступных для соединения устройств, установка соединения, передача данных.
Bluetooth API располагается в пакетеandroid.bluetooth. В его состав входит несколько классов:
В рамках этой статьи мы не будем углубляться в суть работы с медицинскими bluetooth устройствами и сосредоточимся на первых четырех классах.
Установка настроек Bluetooth адаптера из AndroidЕсли Вы решили задействовать в своей программе возможности Bluetooth модуля, вам необходимо, прежде всего, подключить соответствующий пакет API.
Помимо этого необходимо дать приложению разрешение на использования Bluetooth модуля. Для этого в манифест программы нужно добавить строку
Если Вы собираетесь использовать критические с точки зрения безопасности возможности, например, изменить имя устройства, то нужно дать более мощные разрешения BLUETOOTH_ADMIN:
При использовании разрешения BLUETOOTH_ADMIN, необходимо также указывать и BLUETOOTH.
Прежде чем соединяться с кем-нибудь и передавать данные нужно убедиться, что ваш телефон имеет bluetooth модуль. Первым делом при работе с bluetooth API нужно создать экземпляр класса BluetoothAdapter
Если ваш телефон не поддерживает bluetooth, будет возвращено значение "null". На практике нужно всегда проверять это условие, чтобы избежать ошибок.
Даже если ваш аппарат оснащен Bluetooth модулем, он может быть недоступен, поскольку пользователь просто отключил его. Для проверки доступности Bluetooth служит метод isEnabled(). В случае, если модуль отключен, можно предложить пользователю включить его.
Если пользователь согласился на включение адаптера, в переменную enableBtIntent будет записано значение RESULT_OK. В противном случае - RESULT_CANCELED.
После того, как все проверки выполнены, можно приступать к работе. Давайте, например, отобразим имя и адрес нашего адаптера, вызвав методы getName() и getAddress().
Если приложение имеет разрешение BLUETOOTH_ADMIN, вы можете изменить имя Bluetooth устройства с помощью метода
для отображения состояния адаптера служит метод BluetoothAdapter.getState(). Этот метод может возвращать одно из следующих значений:
STATE_TURNING_ON
STATE_ON
STATE_TURNING_OFF
STATE_OFF
Часто в целях экономии заряда батареи Bluetooth выключен по умолчанию. Следующих код создает сообщение, в котором информирует пользователя о состоянии адаптера:
Организация поиска доступных bluetooth устройствС помощью класса BluetoothAdapter, Вы можете найти удаленное bluetooth устройство, запустив сканирование или запросив список спаренных устройств.
При сканировании осуществляется поиск доступных bluetooth модулей вокруг вас. Если в поле досягаемости окажется устройство с разрешенным bluetooth, оно отправит в ответ на запрос некоторую информацию о себе: имя, класс, свой уникальный MAC адрес. На основе этой информации можно организовать соединение и передачу данных.
Сразу после установки соединения с удаленным устройством, пользователю будет автоматически показан запрос на соединение. В случае положительного ответа полученная информация (имя, класс и MAC адрес) сохраняется и может затем использоваться через bluetooth API. Так при следующем сеансе связи с данным удаленным устройством вам уже не придется проводить сканирование, поскольку необходимый MAC адрес уже будет занесен в базу вашего телефона и его можно просто выбрать из списка спаренных устройств.
Необходимо различать понятие спаренных и соединенных устройств. Спаренные устройства просто знают о существовании друг-друга, имеют ссылку-ключ, которую могут использовать для аутентификации, и способны создать шифрованное соединение друг с другом. Соединенные устройства разделяют один радиоканал и могут передавать данные друг другу. Текущая реализация bluetooth API требует, чтобы устройства были спарены перед соединением. (Спаривание выполняется автоматически, когда вы начинаете шифрованное соединение через Bluetooth API)
Запрос на соединение со спаренным устройствомПрежде чем приступать к поиску устройств вокруг имеет смысл показать пользователю список уже известных системе устройств. Вполне возможно, что требуемый телефон окажется в этом списке. Метод getBondedDevices() возвращает множество (Set) устройств BluetoothDevice, с которыми уже происходило соединение. Вы можете показать пользователю этот список, например с помощью ArrayAdapter:
Для того чтобы инициализировать соединение нужно знать MAC адрес устройства. В приведенном выше примере эти адреса заносятся в Arrayadapter и показываются пользователю. При желании, Вы можете легко достать любой адрес из этого списка.
Поиск устройствДля того, чтобы начать сканирование радиодиапазона на предмет наличия доступных устройств просто вызовите метод startDiscovery(). Сканирование происходит в отдельном асинхронном потоке. Метод возвращает true, если запуск сканирования прошел успешно. Обычно процесс сканирования занимает порядка 10-15 секунд. Чтобы получить информацию о найденных устройствах Ваше приложение должно зарегистрировать BroadcastReceiver для интента ACTION_FOUND. Этот интент вызывается для каждого найденного устройства. Интент содержит дополнительные поля EXTRA_DEVICE и EXTRA_CLASS, которые содержат объекты BluetoothDevice и BluetoothClass соответственно.
Поиск Bluetooth устройств требует много ресурсов. Как только Вы нашли подходящее устройство, не забудьте остановить процесс сканирования. Это можно сделать с помощью метода cancelDiscovery(). Кроме того, если ваш телефон уже находится в соединении с каким-либо устройством, сканирование может значительно сузить ширину пропускания канала, поэтому лучше воздержаться от поиска новых устройств при установленном соединении.
Включение Bluetooth из приложенияСовременные Android смартфоны не могут похвастаться долгим временем работы, поэтому все нормальные люди отключают Bluetooth модуль. Если Вы припрограммровании для Android хотите дать своим пользователям возможность сделать телефон видимым для других телефонов, вызовите с помощью метода startActivityForResult(Intent, int) интент ACTION_REQUEST_DISCOVERABLE. В результате пользователю будет показано системное окно с запросом на перевод телефона в режим bluetooth видимости. По умолчанию этот режим включается на 120 секунд. Это время можно изменить с передав интенту дополнительный параметр EXTRA_DISCOVERABLE_DURATION. Максимально доступное время составляет 3600 секунд. Значение 0 переводит bluetooth модуль вашего телефона в режим постоянной видимости. Для примера создадим интент с запросом на переход в режим видимости на 300 секунд
В результате выполнения этого кода пользователю будет показан диалог с запросом. Если пользователь согласится, телефон будет переведен в режим видимости, и будет вызван callback метод onActivityResult(). В качестве результата методу будет передано число секунд, которое устройство будет видимым. Если пользователь откажется от предложения или произойдет ошибка, то интент вернет код RESULT_CANCELED. Перевод устройства в режим видимости автоматически включает bluetooth адаптер.
Если вы хотите получить уведомления, при изменении режима видимости Вашего устройства, зарегистрируйте BroadcastReceiver для интента ACTION_SCAN_MODE_CHANGED. Дополнительные поля EXTRA_SCAN_MODE и EXTRA_PREVIOUS_SCAN_MODE позволяют получить информацию о новом и старом состоянии соответственно. Они могут принимать значения SCAN_MODE_CONNECTABLE_DISCOVERABLE, SCAN_MODE_CONNECTABLE или SCAN_MODE_NONE. Первое значение указывает на то, что устройство доступно для поиска. Второе - устройство не доступно для поиска, но способно принимать соединения. Третье - не доступно для поиска и не может принимать соединения.
Вам не нужно переводить свой телефон в режим видимости, если вы инициализируете соединение. Видимым должно быть устройство к которому вы хотите подключиться.
Соединение устройствЧтобы соединить два устройства, вы должны написать серверную и клиентскую часть кода. Одно из устройств должно открыть серверный сокет, а второе - инициализировать соединение, используя MAC адрес сервера. Сервер и клиент считаются соединенными, когда они оба имеют активный BluetoothSocket на одном и том же RFCOMM канале. После этого они могут поучать и отправлять потоки данных. Сервер и клиент по-разному получают требуемый BluetoothSocket. Сервер получает его, когда входящее соединение принято. Клиент - когда открывает RFCOMM для сервера.
СерверПри соединении устройств одно из них должно вести себя как сервер, то есть удерживать открытый BluetoothServerSocket. Цель сервера - ждать запроса на входящее соединение, и когда оно подтверждено, создать BluetoothSocket. После этого BluetoothServerSocket можно закрыть. Рассмотрим поэтапно процедуру соединения с точки зрения сервера:
Поскольку метод accept() является блокирующим, его не стоит вызывать из потока главной деятельности, поскольку это приведет к подвисанию интерфейса. Обычна вся работа с BluetoothServerSocket и BluetoothSocket выполняется в отдельном потоке. Чтобы прекратить выполнение метода accept(), вызовите метод close() для BluetoothServerSocket (или BluetoothSocket) из любого другого потока вашего приложения.
Ниже приведен пример потока, реализующий описанный выше механизм работы
В этом примере подразумевается, что может быть установлено только одно соединение, поэтому после того, как соединение подтверждено и получен BluetoothSocket, приложение посылает его отдельному потоку, закрывает BluetoothServerSocket и выходит из цикла.
Обратите внимание, когда accept() возвращает BluetoothSocket, сокет уже соединен, поэтому не требуется вызывать метод connect().
manageConnectedSocket() представляет собой метод, внутри которого нужно создать поток для передачи данных. Его возможная реализация будет рассмотрена ниже.
Вы должны закрыть BluetoothServerSocket сразу же после завершения прослушивания эфира на предмет наличия входящего соединения. В приведенном примере метод close() вызывается сразу после получения объекта BluetoothSocket. Также Вам может понадобиться public метод для остановки приватного BluetoothSocket.
КлиентДля инициализации соединения с удаленным устройствам (устройством, которое держит открытым серверный сокет) вам необходимо получить объект BluetoothDevice, содержащий информацию о нем. Этот объект используется для получения BluetoothSocket и инициализации соединения.
Опишем процедуру соединения:
Как и в случае с accept, метод connect() следует выполнять в отдельном потоке, в противном случае может произойти подвисание интерфейса.
Замечание. Прежде чем вызывать connect() убедитесь, что в данный момент не происходит сканирование с целью поиска доступных устройств. В случае одновременного выполнения этих операций соединение будет устанавливаться намного медленнее, и вы рискуете не уложиться в timeout.
Приведем пример клиентского приложения, инициализирующего соединение
Для остановки сканирования эфира вызывается метод cancelDiscovery(). Перед вызовом этого метода можно проверить идет ли сканирование с помощью isDiscovering().
После завершения работы с BluetoothSocket всегда вызывайте метод close(). Это поможет сэкономить ресурсы телефона.
Передача данныхПосле успешного соединения, каждое из соединенных устройств имеет объект BluetoothSocket с помощью которого легко реализовать передачу/прием данных:
Вы должны использовать отдельный поток для чтения и записи данных. Это важно, поскольку методы read(byte[]) и write(byte[]) являются блокирующими и их вызов в основном потоке может парализовать вашу программу. Главный цикл в этом отдельном потоке должен считывать данные из InputStream. Для записи в OutputStream имеет смысл создать отдельный public метод.
В конструкторе создаются объекты для работы с потоками данных, после чего поток оживает входящие данные. После того как прочитан очередной блок данных из входящего потока он посылается в главную деятельность посредствам вызова метода Handler родительского класса. Для отправки данных из главной деятельности просто вызывается метод write(). Внутри этого публичного метода происходит вызов write(byte[]). Метод close() также можно вызвать из главной деятельности. Он разрывает соединение.
Перевод:Александр Ледков
Источник: developer.android.com
Please enable JavaScript to view the comments powered by Disqus.
Мобильный Google – это самый простой и быстрый способ поиска информации в Интернете и на Android-устройстве.– Быстрый поиск информации на мобильном устройстве и в Интернете.– Голосовой поиск и другие удобные функции.– Персонализированные результаты на основе вашего местоположения.И это ещё не все! *Google.
Разработчик: Google Inc. Цена: Бесплатно Обновлено: 9 января 2014 г. Google Поиск
Официальное приложение Ask.fm для Android. - Простой и понятный интерфейс. - Легкий доступ ко всем, на кого подписались. - Задавайте и получайте вопросы в любое время, где бы вы ни находились. - Добавляйте фотографии к ответам. - Получайте уведомления, когда вам задают вопросы, дарят подарки и отвечают на.
Разработчик: Ask.fm Цена: Бесплатно Обновлено: 20 декабря 2013 г. Ask.fm
Voice Search - Поиск информации с телефона порой занимает много времени, потому что приходится печатать. Голосовой поиск Google решает эту проблему. Нажмите значок микрофона и произнесите запрос. Результаты появятся.
Разработчик: Google Inc. Цена: Бесплатно Обновлено: 15 марта 2011 г. Голосовой поиск
Это приложение выполняет поиск изображений с Google API.Длинное нажатие, чтобы загрузить изображение или перейти на сайт, который содержит изображение.* ПоискПросто запрос входа и нажмите кнопку, чтобы выполнить поиск.Существует несколько вариантов настройки в меню, появляющемся при "меню" ->.
Разработчик: Wagachat Цена: Бесплатно Обновлено: 16 декабря 2013 г. Поиск картинок
Voice Search Advanced - приложение для голосового поиска в Яндексе, Гугле, Википедии, YouTube и Google Play.Использует приложение Voice Search от Google.ОСОБЕННОСТИ:- голосовой поиск на различных языках (EN, RU, FR, DE, PL, IT, ES)- голосовой поиск в Yandex searchengines- голосовой поиск в Google.
Разработчик: Team2E Цена: Бесплатно Обновлено: 11 августа 2013 г. Голосовой поиск Плюс
Surfingbird - это удобный инструмент, чтобы быстро находить фото, красивые видео или полезные статьи по твоим интересам.Ключевые возможности:- Все персонально для тебя. С помощью наших алгоритмов мы выбираем из тысяч страниц те, что понравятся именно тебе.- Коллекционируй найденное. Ты можешь создавать.
Разработчик: Surfingbird LLC Цена: Бесплатно Обновлено: 9 января 2014 г. Surfingbird
Розовый Поиск Google ™ приложения - Создание веселье и красочный способ поиска в Интернете с вашего устройства Android. Получить мобильный оптимизированные результаты поиска на базе поисковой системы Google Custom. Включает в себя поиск предложения при вводе и голосового поиска. Настройка устройства с этой.
Разработчик: Search Colors Цена: Бесплатно Обновлено: 28 декабря 2013 г. Розовый Поиск Google ™
Синий Поиск Google ™ приложения - Создание веселье и красочный способ поиска в Интернете с вашего устройства Android. Получить мобильный оптимизированные результаты поиска на базе поисковой системы Google Custom. Включает в себя поиск предложения при вводе и голосового поиска. Настройте ваше устройство по.
Разработчик: Search Colors Цена: Бесплатно Обновлено: 28 декабря 2013 г. Синий Поиск Google ™
* Вы можете найти несколько сайтов одновременно.===================* Данное приложение имеет собственный несколькими вкладками браузера, так что вы можете легко перейти на другие сайты поиска.===================* Целевые сайты- Яндекс, Mail.ru, Рамблер, Google, Yahoo, Bing, Wikipedia, Twitter, Youtube, ASK.
Разработчик: ESCape Apps Цена: Бесплатно Обновлено: 8 декабря 2013 г. Мульти поиск(Яндекс,Рамблер,.)
Черный Поиск Google ™ приложения - Создание веселье и красочный способ поиска в Интернете с вашего устройства Android. Получить мобильный оптимизированные результаты поиска на базе поисковой системы Google Custom. Включает в себя поиск предложения при вводе и голосового поиска. Настройка устройства с этой.
Разработчик: Search Colors Цена: Бесплатно Обновлено: 27 декабря 2013 г. Черный Поиск Google ™
Долгожданное обновление приложения Поиска для АндроидаСегодня мы рады анонсировать обновление нашего приложения для Андроида. С момента последнего релиза оно значительно изменилось и обзавелось новыми функциями:- Управление через боковое меню. Выбор поисковых разделов и навигация по результатам стали удобнее.
Разработчик: Mail.Ru Group Цена: Бесплатно Обновлено: 11 декабря 2013 г. Поиск Mail.Ru
Фиолетовый Поиск Google ™ приложения - Создание веселье и красочный способ поиска в Интернете с вашего устройства Android. Получить мобильный оптимизированные результаты поиска на базе поисковой системы Google Custom. Включает в себя поиск предложения при вводе и голосового поиска. Настройте ваше устройство.
Разработчик: Search Colors Цена: Бесплатно Обновлено: 27 декабря 2013 г. Фиолетовый Поиск Google ™
Зеленый Поиск Google ™ приложения - Создание веселье и красочный способ поиска в Интернете с вашего устройства Android. Получить мобильный оптимизированные результаты поиска на базе поисковой системы Google Custom. Включает в себя поиск предложения при вводе и голосового поиска. Настройка устройства с этой.
Разработчик: Search Colors Цена: Бесплатно Обновлено: 27 декабря 2013 г. Зеленый Поиск Google ™
В Mail.ru заботятся о комфорте пользователей, именно поэтому мы совместили все самые необходимые сервисы в одном функциональном виджете.Приложение поддерживает размер 4*4 и имеет много полезных функций.Новый виджет Mail.ru для Android — это:— главные новости;— поиск;— погода и курсы валют;— витрина.
Разработчик: Mail.Ru Group Цена: Бесплатно Обновлено: 8 января 2014 г. Виджет Mail.Ru
Красный Поиск Google ™ приложения - Создание веселье и красочный способ поиска в Интернете с вашего устройства Android. Получить мобильный оптимизированные результаты поиска на базе поисковой системы Google Custom. Включает в себя поиск предложения при вводе и голосового поиска. Настройте ваше устройство по.
Разработчик: Search Colors Цена: Бесплатно Обновлено: 27 декабря 2013 г. Красный Поиск Google ™
Желтый Поиск Google ™ приложения - Создание веселье и красочный способ поиска в Интернете с вашего устройства Android. Получить мобильный оптимизированные результаты поиска на базе поисковой системы Google Custom. Включает в себя поиск предложения при вводе и голосового поиска. Настройка устройства с этой.
Разработчик: Search Colors Цена: Бесплатно Обновлено: 25 декабря 2013 г. Желтый Поиск Google ™
Теперь поиском Нигмы можно пользоваться с Вашего android-устройства! Виджет оснащен автоматическим переводом, быстрым доступом к википедии и умными поисковыми подсказками, которые позволят мгновенно находить нужные сайты, не нажимая кнопку найти!Установка виджета на рабочий стол: Для того, чтобы добавить.
Разработчик: Nigma_android Цена: Бесплатно Обновлено: 13 апреля 2012 г. Поисковый виджет Нигма
Расширенный Поиск в Google позволяют Лучше использовать Google Search, почему?По сравнению со встроенным в Google Search, Google Расширенный поиск Google позволяет:Автоматическая настройка при запускеОдин клик до начала поискаПоиск новостей за последний часКак перевести инструмент50 результатов на.
Разработчик: Live Wallpaper Studio Цена: Бесплатно Обновлено: 23 июля 2013 г. Расширенный Поиск в Google
Простое переключение языка, который вы используете для голосового поиска.Если вы многоязычный, это очень сложно использовать голосовой поиск, потому что языка глубоко внутри меня, и вы не можете изменить язык легко.Это приложение показывает диалог выбора языка первого и запускает Голосовой поиск в выбранном.
Разработчик: Olive Labs Цена: Бесплатно Обновлено: 10 августа 2012 г. Многоязычный голосовой поиск
Bluetooth для андроид — как разработать приложение, которое позволяется взаимодействовать с другими устройствами по buletooth? Об этом пойдет речь в данной статье. Вы узнаете, как:
Начнем с описания функциональности тестового приложения.
Тестовое приложение в этой статье позволяет подключаться к устройствам, на котором уже запущенно это же приложение. Как это работает?
Приложение использует т.н. Bluetooth SDP (service discovery protocol). Если вкратце, то этот протокол обеспечивает общение по bluetooth. В протоколе SDP сетевой сервис, который предоставляет приложение, идентифицируется с помощью UUID (уникального идентификатора). SDP позволяет подключаться и принимать подключения только с тем же UUID. Как реализовать такое подключения и идет речь в статье.
Конечно, для тестирование приложения понадобятся минимум два устройства с bluetooth и Android.
Вот основные возможности будущего приложения:
Интерфейс состоит из одной активности с таким интерфейсом:
Порядок работы с приложением:
1) Нажмите «Сделать доступным для поиска». Запустится активность для подтверждения перевода устройства в состояние «доступнен для поиска».
2) Нажмите «Найти устройства». Произойдет запрос к адаптеру bluetooth для поиска устройств:
3) Как только поиск будет завершен, вы увидите все доступные устройства c bluetooth. У меня постоянно всплывал, помимо второго тестового смартфона, еще и соседский телевизор.
4) Нажмите на устройство, на котором уже запущено тестовое приложение.
5) Появится Toast с сообщением о том, что устройство подключено.
6) Введите сообщение в поле под кнопкой «Отправить сообщение», и нажмите эту кнопку.
7) Проверьте, что на втором устройстве отобразилось полученное сообщение.
Тестовое приложение очень простое в плане функциональности. Однако, всего, что в нем использовано, будет вполне достаточно для построения любого интерактивного приложения bluetooth.
Обзор проекта bluetooth-приложения под AndroidДалее идут вспомогательные классы для обработки сообщений.
Практически любая операция работы с bluetooth в Андроиде требует двух разрешений в файле манифеста приложения. Следующие строки должны присутствовать в файле AndroidManifest.xml:
android.permission.BLUETOOTH_ADMIN — позволяет управлять настройками bluetooth, искать и подключать устройства. В свою очередь, BLUETOOTH_ADMIN требует разрешения BLUETOOTH.
Интерфейс приложения, главная активность MainActivityРазметка интерфейса главной активности выглядит следующим образом:
Посмотреть код
Заметьте, что обработчики нажатий указаны прямо в разметке с помощью атрибута android:onClick, куда передается имя метода в активности. Сигнатура метода подразумевает единственный параметр View. Например:
Просмотрите код MainActivity.java:
Просмотреть код MainActivity.java
SDP-идентификаторКак отмечено выше, Bluetooth SDP подразумевает использование идентификатора сервиса, которое предоставляет приложение.
В классе MainActivity определяем идентификатор следующим образом:
Нужно определить UUID один раз для вашего приложения и применять его в неизменно виде. Чтобы сгенерировать UUID, можно воспользоваться одним из онлайн-сервисов (например, этим )
Реализация фабрики Communicator-овДля получения сообщений от входящих подключений предусмотрен класс ConnectorImpl, реализующий общий интерфейс Connector. Чтобы отложить процесс создания коннектора до нужного момента, коннектор создается не напрямую, а с помощью сервиса ServiceConnector. Далее, этот сервис передается («инжектируется»), в классы ClientThread и ServerThread (см. далее):
Пока обратите внимание, что создается объект CommunicatorImpl, который принимает BluetoothSocket и специальный коллбек CommunicationListener. Последний служит для получения сообщений от потоков ClientThread и ServerThread.
В методе onMessage передается управление в главный поток приложения с помощью метода активности runOnUiThread. В главном потоке полученный текст добавляется к тексту поля textData (android:id=»@+id/data_text» в xml-ресурсе интерфейса пользователя).
В методе жизненного цикла onCreate необходимо сделать первоначальную инициализацию переменных и пользовательского интерфейса:
Метод setListAdapter является частью родительского класса ListActivity, от которого наследуется MainActivity. Делаем устройство доступным для поиска по Bluetooth
Обработчик нажатия кнопки «Сделать доступным для поиска» выглядит так:
Параметр EXTRA_DISCOVERABLE_DURATION задает время, на которое запрашивается состояние доступности для поиска.
Поиск устройствПри нажатии на кнопку «Найти устройства» происходит вызов метода discoverDevices:
Тут регистрируются два ресивера:
discoverDevicesReceiver — принимает событие BluetoothDevice.ACTION_FOUND. В обработчике ресивера полученное устройство добавляется к списку discoveredDevices.
discoveryFinishedReceiver — вызывается системой, когда поиск устройств завершен.
Когда ресиверы зарегистрированы, запускается поиск:
Запуск и остановка потоков ClientThread и ServerThreadДля возобновления работы и остановки потоков в MainActivity используются методы жизненного цикла onResume и onPause. Первый вызывается, когда активность получает фокус и может взаимодействовать с пользователем. Второй — когда активность теряет фокус. Соответственно, onResume подходит для запуска потока, отвечающего за прием соединений от других устройств (Servet thread). В onPause наоборот, нужно остановить все потоки, освободив тем самым ресурсы:
Подключение у устройству и отправка сообщенийДва оставшихся метода метода служат для подключения в устройству bluetooth на Андроид.
Первый — onListItemClick. Этот метод вызывается в классе ListActivity при нажатии на элемент списка. Тут пересоздается поток подключения ClientThread, которому передается выбранное устройство:
Обработчик кнопки «Отправить сообщение» sendMessage запускает AsynTask, в котором происходит запись сообщения в исходящий поток:
Обратите внимание, что конструкторы ServerThread и ClientThread принимают communicatorService, который они используют для создания экземпляров коммуникатора. Как это происходит, вы сейчас узнаете.
Теперь все готово чтобы перейти непосредственно к процессу коммуникации по bluetooth.
Отправка сообщение по bluetooth — класс ClientThreadКласс ClientThread получает сокет у выбранного устройства для последующей записи в него. Просмотрите код класса:
В конструкторе получаем BluetoothSocket для исходящих соединений (подключения к другим устройствам):
Метод createRfcommSocketToServiceRecord принимает UUID, который будет использоваться протоколом SDP для поиска сервиса с таким же UUID.
Основной метод потока run осуществляет подключение к сокету устройства (socket.connect()). Затем, управление передается коммуникатору:
Обратите внимание, что в начале метода отключается поиск устройств для экономии ресурсов устройства:
Получение сообщений от других устройств — класс ServerThreadServerThread принимает входящие соединения и читает данные из полученного сокета. Поток ServerThread запущен все время, пока MainActivity находится в активном состоянии (между вызовами onResume и onPause). Возможно, в вашем приложении вы захотите вынести ServerThread в сервис, так чтобы его работа не зависела от состояния пользовательского интерфейса (активности).
В конструкторе с помощью метода listenUsingRfcommWithServiceRecord создается прослушивающий сокет — BluetoothServerSocket. Метод принимает UUID и имя сервиса. В нашем случае имя простое — «BluetoothApp».
Основной метод полученного BluetoothServerSocket — accept. Этот метод ждет (блокирует выполнение программы), до получения входящего подключения. Accept возвращает сокет, из которого затем можно считывать данные:
Как только необходимость в получении новых соединений отпадает, нужно закрыть серверный сокет:
Чтение сообщений и вывод их в интерфейс пользователя — класс CommunicatorImplКласс CommunicatorImpl получает входной и выходной потоки из переданного ему сокета:
В методе startCommunication запускается бесконечный цикл, в котором происходит чтение из входящего потока и передача в коллбек listener, который необходимо передать в конструктор:
Для записи в исходящий в есть метод write:
Вы уже видели, как он используется в MainActivity:
ЗаключениеВ статье рассмотрели простой механизм взаимодействия устройств в помощью bluetooth по протоколу SDP.
Наверняка, у вас будут вопросы в процессе реализации вашего приложения. Прошу оставлять свои вопросы в комментариях.
Здравствуйте! Скачал исходники, запустил, нашел устройство, подключился к нему, однако после отправки сообщения в логах выдает NullPointerException null, как я понимаю не выполняется clientThread.getCommunicator().write(args[0]); в классе WriteTask. Подскажите, в чем проблема?
Объясните пожалуйста фразу «интерфейс фабрики для создания Communicator-ов » и откуда берется класс CommunicatorService?