Софт

поиск андроид устройства

Рейтинг: 4.2/5.0 (512 проголосовавших)

Категория: Android

Описание

Поиск утерянного или украденного android телефона

Как заблокировать и отыскать Android смартфон если его украли. Часть 2

Главная ? Android OS ? Как заблокировать и отыскать Android смартфон если его украли. Часть 2

Вторая часть статьи посвященная возможным форс-мажорам связанных с утерей либо кражей, телефона на android OS.
Второй способ как справится с такими неприятностями. И здесь все просто! Вам поможет новый встроенный в операционную систему Android, инструмент который появился в августе 2013-го года. Он активен на всех “андроидах”, даже если ваш смартфон имеет раннюю версии “операционки”, функция доступна без всяких обновлений.

Зная о новых возможностях теперь вам не страшны будут утери и кражи или по крайней мере вы будете знать как действовать в таких ситуациях.

Как найти android телефон

Для поиска места нахождения или принудительного беспрерывного звонка, не нужно устанавливать или как то настраивать ваш смартфон. А вот для удаления на расстоянии, вашей конфиденциальной информации на телефоне, необходимо поставить галочку в диспетчере устройства. Эта манипуляция займет у вас меньше минуты.

Обновление в 2014 году принесло возможность заблокировать андроид-устройство на расстоянии.

Даже если вы думаете что эти функции вам никогда не пригодится, нет ни одной причины чтобы не воспользоваться всем набором возможностей которые вам предлагает Google в своей мобильной ОС.

Включение диспетчера устройства android

Новая функция по умолчанию отключена, ее нужно активировать в диспетчере устройства, для этого вам нужно открыть — “Настройки Google” > далее открыть пункт “Безопасность” > далее перейти в “Администраторы устройства” и поставьте галочку, после чего откроется новое окно для подтверждения, в котором вам нужно нажать > “Активировать”. Вот и все что требуется для удаленной манипуляции.

Поиск и удаленное управление Android

Для того чтобы найти местоположение или удаленно управлять утерянным/украденным андроид устройством вам необходимо с компьютера зайти на страницу www.google.com/android/devicemanager предварительно подтвердив вход в аккаунт и принять условия использования местонахождения.

Выполнив эти несложные шаги вы выбираете ваше “горе-устройство” попавшее в беду и определяетесь как будите поступать. По мимо этого на карточке, вы видите время полученной информации, место положение с точностью примерно до 25 м. под карточкой находится карта с меткой нахождения устройства.

Возможности удаленного управления
  • Найти местонахождение вашего потерянного или украденного смартфона, местоположение определяется по сотовым сетям, Wi-Fi и GPS. Функция работает даже если злоумышленники установили другую СИМ-карту.

  • Удаленно заставить смартфон беспрерывно звонить, даже если злоумышленники выключат звук, телефон будет звонить на полную громкость.

  • Удалить все данные, функция которая позволяет предотвратить возможность воспользоваться вашей информацией на телефоне. Данная функция позволяет сбросить настройки стирая данные до заводских настроек.

С помощью “Удаленного управления android” вы оперативно можете выполнить вышеперечисленные действия, чтобы поскорее вернуть свое android-устройство. А еще это прекрасная возможность знать, где в данный момент находятся ваш ребенок, конечно же при условии что вы сможете подтвердить аккаунт владельца, при в ходе на сервис.

Комментируйте и подписывайтесь на уведомления о новых статьях блога «Твой android».

поиск андроид устройства:

  • скачать
  • скачать
  • Другие статьи, обзоры программ, новости

    История перемещения Андроид

    История перемещений Андроид-смартфона

    История перемещения Андроид-смартфона

    Планшеты и смартфоны на базе Android обладают отличным функционалом в силу большого выбора приложений которые можно бесплатно скачать с гугл маркета. Но кроме этого, всеми нами любимый Google предоставляет сервисы отслеживания перемещения Андроид-устройств, удаленной блокировки устройства и в случаях потери, экстренной, удаленной очистки.

    Как Google определяет местоположение

    Итак, давайте разберемся как Google определяет местоположение. Местоположении гугл вычисляет с помощью:

    Наиболее эффективно, точнее и быстрее местонахождение устройства определяется если на смартфоне активированы GPS и Wi-Fi.

    Большой плюс определения через Wi-Fi состоит в том, что по присвоенному устройству IP-адресу уже можно найти приблизительное местоположение, а под открытым небом, на открытом пространстве GPS определяет его еще лучше. В связке, все эти включенные службы позволяют гугл определить местоположение Android-устройства с точностью до несколько метров.

    История перемещений Android

    Google предоставляет очень удобный онлайн-сервис, с помощью которого любой зарегистрированный пользователь сможет в реальном времени увидеть на карте историю и точную траекторию перемещения Андроид-устройства.

    Для того чтобы начать работу с сервисом нам необходимо зарегистрироваться в системе Google. Если у вас уже есть почта, просто авторизируйтесь с помощью логина и пароля вашей почты. Сделать это можно здесь .

    Для просмотра истории перемещений Google рекомендует использовать свой браузер Chrome, желательно последней версии). Хотя у меня прекрасно работает и в браузере Safari и в Firefox.

    Наверху с лева находится календарь. В нем пользователь может выбирать интересующую его дату. После чего на карте отобразится красная линия перемещений, с точной траекторией движения.

    Внизу находится шкала времени. Наведите на нее мышкой и перемещайте вдоль. При этом на карте вы будете видеть, где в каждый отдельный промежуток времени находилось устройство.

    Как удалить историю перемещений

    Пользователь может удалить историю перемещений полностью или удалить данные за определенный период. Для того чтобы удалить всю историю необходимо нажать на кнопку Удалить всю историю .

    Если вы хотите удалить историю перемещений за конкретный, определённый промежуток времени, то вам необходимо сначала выбрать интервал в поле Показать. а потом нажать на кнопку Удалить данные за этот период .

    Как отключить сохранение истории перемещения Андроид-смартфона

    Итак, мы с вами разобрались с тем как отслеживать местонахождение Андроид-устройства. Теперь я хочу рассказать как отключить данную функцию.

    Знаете вы или нет, но история всех ваших перемещений хранится с самого первого дня, когда у вас только появился смартфон или планшет на базе Android, и что еще больее интересно, она не очищается автоматом. Т.е все данные о вашем передвижение оседают в недрах гугла. Если вы Вася Пупкин из 8б, это не принципиально но если вы подозреваете что за вами может быть установлена слежка, очень советую отключить сохранение истории перемещения.

    Кстати, если вам необходимо проследить за человеком, вы можете узнать как это сделать прочитав статью «Как следить за человеком «.

    Для отключения истории перемещений необходимо зайти на страницу настроек

    Теперь нажимаем на кнопку Отключить .

    Теперь в окне потверждения еще раз нажимаем на кнопочку Отключить .

    Все, теперь вы знаете как следить за телефоном с помощью Google и как проверить не следят ли за вами.

    Как разогнать процессор андроид устройства

    Как разогнать процессор андроид устройства

    Когда вы покупали свой смартфон или планшет наврядли вы задумывались. что когда то на нём начнут подвисать игры. прогресс идёт вперёд поэтому следует подумать о разгоне процессора вашего Android смартфона или о покупке нового. Я выбираю первый вариант.

    Прежде чем разогнать процессор надо получить Root права. иначе ничего не выйдет. Свою модель вы можете найти через поиск по сайту. После их получения вам открываются большие возможности, с устройством можно делать фактически что угодно пользователю. Подробнее о возможностях прав суперпользователя написано здесь .

    Для разгона я буду использовать Antutu Cpu Master — программа бесплатно доступна в google play market.
    Пользоваться приложением очень просто. несмотря на английский язык. В главном окне мы видим ползунки Max и Min. на максимуме вы улучшаете производительность и уменьшаете время автономной работы смартфона. в общем быстро садите аккумулятор. На минимуме всё наоборот. если хотите поиграть в очень требовательную игру можете выставить всё на max и потом вернуть обратно.

    Если вы хотите экономить время, зафиксируйте частоту процессора. чтобы она не слетала после перезагрузки, поставьте галочку "Set on boot" и уже при загрузке вы будете на нужной частоте. Но подходите к этому с осторожностью. не повышайте гигагерцы больше чем на 25%, иначе есть риск перегрева и гибели вашего устройства. Хотя данные случаи весьма редко встречаются на практике.

    Видео по разгону

    Как нас находят:
    • как разогнать андроид
    • как разогнать андроид 4 2
    • как разогнать андроид без рут прав
    Related Posts

    Posted on 27 сентября 2014

    Сегодня мы научимся как использовать Knock коды для разблокировки смартфона. всё будет показано на примере LG G3. В настоящее время существует множество способов разблокировки.

    Posted on 16 августа 2014

    Мне кажется LG начали обращать внимание на сторонние приложения, помогающие сохранить заряд батарее и стали кроить своё.

    Posted on 16 августа 2014

    Сегодня мы установим разные обои для каждого главного экрана на примере смартфона LG G3.Надо признать всем со временем надоедают стандартные обои. Мы начинаем уставать глядя на эту футбольную команду, машину, кота на экране. Пора.

    Использование Bluetooth в Android

    Использование Bluetooth в Android

    Платформа Android предоставляет разработчику богатые коммуникационные возможности. Для работы с Bluetooth в состав Android входит мощный API, позволяющий легко производить сканирование окружающего пространства на предмет наличия готовых к соединению устройств, передачу данных между устройствами и многое другое.

    Работа с Bluetooth состоит из четырех этапов: установка настроек bluetooth адаптера, поиск доступных для соединения устройств, установка соединения, передача данных.

    Обзор Android Bluetooth API

    Bluetooth API располагается в пакетеandroid.bluetooth. В его состав входит несколько классов:

    • BluetoothAdapter - отвечает за работу с установленным в телефоне Bluetooth модулем. Экземпляр этого класса есть в любой программе, использующей bluetooth. В состав этого класса входят методы, позволяющие производить поиск доступных устройств, запрашивать список подключенных устройств, создавать экземпляр класса BluetoothDevice на основании известного MAC адреса и создавать BluetoothServerSocket для ожидания запроса на соединение от других устройств.
    • BluetoothDevice - класс, ассоциирующийся с удаленным Bluetooth устройством. Экземпляр этого класса используется для соединения через BluetoothSocket или для запроса информации об удаленном устройстве (имя, адресс, класс, состояние).
    • BluetoothSocket - интерфейс для Bluetooth socket, аналогичный TCP сокетам. Это точка соединения, позволяющая обмениваться данными с удаленным устройством через InputStream и OutputStream.
    • BluetoothServerSocket - представляет открытый сокет сервера, готовый к обработке входящего запроса. Для того чтобы соединить два Android устройства, одно из них должно открыть сокет с помощью этого класса. Когда удаленное устройство пошлет запрос на соединение, BluetoothServerSocket вернет объект BluetoothSocket.
    • BluetoothClass - описывает основные параметры Bluetooth модуля. Объект этого класса доступен только в режиме чтения и может быть полезен при определении типа устройства.
    • BluetoothProfile - интерфейс, представляющий Bluetooth профиль (спецификацию беспроводного интерфейса для соединения устройств через Bluetooth). Примером профиля может служить Hands-Free profile, определяющий порядок работы с беспроводной гарнитурой.
    • BluetoothHeadset - обеспечивает поддержку bluetooth гарнитур. Включает в себя профили Bluetooth Headset и Hands-Free (v1.5).
    • BluetoothA2dp - Описывает Advanced Audio Distribution Profile, определяющий передачу потока высококачественных аудиоданных через bluetooth.
    • BluetoothHealth - определяет proxy для Health Device Profile.
    • BluetoothHealthCallback - абстрактный класс, который можно использовать для реализации обратных вызовов от BluetoothHealth. Для того чтобы регистрировать изменение состояния Bluetooth устройства нужно на основе этого класса создать собственный и переопределить в нем callback методы.
    • BluetoothHealthAppConfiguration - конфигурация, которая используется для соединения с различными медицинскими bluetooth устройствами.
    • BluetoothProfile .ServiceListener - интерфейс, который посылает уведомление BluetoothProfile IPC клиентам при их подключении и отключении от сервиса.

    В рамках этой статьи мы не будем углубляться в суть работы с медицинскими 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 можно закрыть. Рассмотрим поэтапно процедуру соединения с точки зрения сервера:

    1. Получить BluetoothServerSocket вызвав метод listenUsingRfcommWithServiceRecord(String, UUID). Первый параметр метода представляет собой идентификационное имя вашего сервиса. Система автоматически добавит его в базу Service Discovery Protocol (SDP). Обычно в качестве этого параметра просто указывают название приложения. Второй параметр также идентифицирует сервис. Этот параметр используется клиентом при подтверждении соединения.
    2. Начинаем прослушивать запрос на соединения через метод accept(). Это блокирующий метод, который возвращает результат либо когда соединение подтверждено, либо когда произошло исключение. Соединение считается подтвержденным, когда удаленное устройство пошлет запрос на соединение с UUID, указанным при регистрации серверного сокета. В случае успеха, accept() возвращает настроенный на соединение BluetoothSocket.
    3. Если Вы хотите принять дополнительное соединение, вызовите метод close(). Это приведет к освобождению сокета и всех его ресурсов, но не закроет соединенный BluetoothSocket. В отличие от TCP/IP, RFCOMM позволяет работать только с одним клиентом на канале, поэтому в большинстве случаев имеет смысл вызывать метод close() срезу же после установки принятия сокета.

    Поскольку метод accept() является блокирующим, его не стоит вызывать из потока главной деятельности, поскольку это приведет к подвисанию интерфейса. Обычна вся работа с BluetoothServerSocket и BluetoothSocket выполняется в отдельном потоке. Чтобы прекратить выполнение метода accept(), вызовите метод close() для BluetoothServerSocket (или BluetoothSocket) из любого другого потока вашего приложения.

    Ниже приведен пример потока, реализующий описанный выше механизм работы

    В этом примере подразумевается, что может быть установлено только одно соединение, поэтому после того, как соединение подтверждено и получен BluetoothSocket, приложение посылает его отдельному потоку, закрывает BluetoothServerSocket и выходит из цикла.

    Обратите внимание, когда accept() возвращает BluetoothSocket, сокет уже соединен, поэтому не требуется вызывать метод connect().

    manageConnectedSocket() представляет собой метод, внутри которого нужно создать поток для передачи данных. Его возможная реализация будет рассмотрена ниже.

    Вы должны закрыть BluetoothServerSocket сразу же после завершения прослушивания эфира на предмет наличия входящего соединения. В приведенном примере метод close() вызывается сразу после получения объекта BluetoothSocket. Также Вам может понадобиться public метод для остановки приватного BluetoothSocket.

    Клиент

    Для инициализации соединения с удаленным устройствам (устройством, которое держит открытым серверный сокет) вам необходимо получить объект BluetoothDevice, содержащий информацию о нем. Этот объект используется для получения BluetoothSocket и инициализации соединения.

    Опишем процедуру соединения:

    1. Получим BluetoothSocket вызвав метод BluetoothDevice.createRfcommSocketToServiceRecord(UUID). Значение параметра UUID должно совпадать с значением, указанным при вызове listenUsingRfcommWithServiceRecord сервера.
    2. Инициализируем соединение, вызвав метод connect(). После вызова этого метода система будет выполнять SDP поиск на удаленном устройстве, чтобы сопоставить UUID. В случае успеха при условии подтверждения запроса со стороны сервера будет открыт RFCOMM канал. Это блокирующий вызов. Если по каким-то причинам соединение сорвется или выйдет timeout (около 12 секунд), будет сгенерировано исключение.


    Как и в случае с accept, метод connect() следует выполнять в отдельном потоке, в противном случае может произойти подвисание интерфейса.

    Замечание. Прежде чем вызывать connect() убедитесь, что в данный момент не происходит сканирование с целью поиска доступных устройств. В случае одновременного выполнения этих операций соединение будет устанавливаться намного медленнее, и вы рискуете не уложиться в timeout.

    Приведем пример клиентского приложения, инициализирующего соединение

    Для остановки сканирования эфира вызывается метод cancelDiscovery(). Перед вызовом этого метода можно проверить идет ли сканирование с помощью isDiscovering().

    После завершения работы с BluetoothSocket всегда вызывайте метод close(). Это поможет сэкономить ресурсы телефона.

    Передача данных

    После успешного соединения, каждое из соединенных устройств имеет объект BluetoothSocket с помощью которого легко реализовать передачу/прием данных:

    1. С помощью методов getInputStream() и getOutputStream() полуить объекты InputStream и OutputStream, управляющие передачей через сокет.
    2. Читать и писать данные в поток с помощью методов read(byte[]) и write(byte[]).

    Вы должны использовать отдельный поток для чтения и записи данных. Это важно, поскольку методы 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.

    Поисковые приложения для Андроид (Android) скачать бесплатно

    Поиск

    Мобильный 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 для андроид

    Bluetooth для андроид — как разработать приложение, которое позволяется взаимодействовать с другими устройствами по buletooth? Об этом пойдет речь в данной статье. Вы узнаете, как:

    • Инициализировать поиск устройств, поддерживающих подключения по bluetooth
    • Подключиться к android-устройству
    • Отправлять и получать сообщения от андроид-устройства по bluetooth

    Начнем с описания функциональности тестового приложения.

    Описание работы приложения bluetooth для Андроид

    Тестовое приложение в этой статье позволяет подключаться к устройствам, на котором уже запущенно это же приложение. Как это работает?

    Приложение использует т.н. Bluetooth SDP (service discovery protocol). Если вкратце, то этот протокол обеспечивает общение по bluetooth. В протоколе SDP сетевой сервис, который предоставляет приложение, идентифицируется с помощью UUID (уникального идентификатора). SDP позволяет подключаться и принимать подключения только с тем же UUID. Как реализовать такое подключения и идет речь в статье.

    Конечно, для тестирование приложения понадобятся минимум два устройства с bluetooth и Android.

    Вот основные возможности будущего приложения:

    • Поиск устройств со включенным bluetooth.
    • Подключение к устройству\прием входящего соединения от стороннего устройства.
    • Отправка сообщения подключенному устройству

    Интерфейс состоит из одной активности с таким интерфейсом:

    Порядок работы с приложением:

    1) Нажмите «Сделать доступным для поиска». Запустится активность для подтверждения перевода устройства в состояние «доступнен для поиска».

    2) Нажмите «Найти устройства». Произойдет запрос к адаптеру bluetooth для поиска устройств:

    3) Как только поиск будет завершен, вы увидите все доступные устройства c bluetooth. У меня постоянно всплывал, помимо второго тестового смартфона, еще и соседский телевизор.

    4) Нажмите на устройство, на котором уже запущено тестовое приложение.

    5) Появится Toast с сообщением о том, что устройство подключено.

    6) Введите сообщение в поле под кнопкой «Отправить сообщение», и нажмите эту кнопку.

    7) Проверьте, что на втором устройстве отобразилось полученное сообщение.

    Тестовое приложение очень простое в плане функциональности. Однако, всего, что в нем использовано, будет вполне достаточно для построения любого интерактивного приложения bluetooth.

    Обзор проекта bluetooth-приложения под Android

    • MainActivity — файл активности. Содержит обработчики нажатий на кнопки и код запуска подключения к устройству и прием входящих подключений
    • ClientThread — запускает процесс общения с устройством
    • ServerThread — ждет входящих подключений и обрабатывает полученные от устройства сообщения

    Далее идут вспомогательные классы для обработки сообщений.

    • Communicator — интерфейс, описывающий процесс общения между устройствами
    • CommunicatorService — интерфейс фабрики для создания Communicator-ов (см. код MainActivity ниже)
    • CommunicatorImpl — простая реализация Communicator-а
    Разрешения для BLUETOOTH

    Практически любая операция работы с 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

    В методе жизненного цикла onCreate необходимо сделать первоначальную инициализацию переменных и пользовательского интерфейса:

    • BluetoothAdapter.getDefaultAdapter() — получаем bluetooth-адаптер устройства. С этого начинается любая работа с bluetooth в Android. В настоящее время Андроид поддерживает только один адаптер. В документации отмечено, что на версиях начиная JELLY_BEAN_MR2 для получения адаптера нужно пользоваться методом Context.getSystemService(BLUETOOTH_SERVICE). Однако сейчас никакой разницы между этими двумя способами, похоже, нет.
    • listAdapter — создаем адаптер для списка устройств. Данный адаптер получает данные из списка discoveredDevices подключенных устройств. Затем этот адаптер присваивается листу:

    Метод 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()). Затем, управление передается коммуникатору:

    Обратите внимание, что в начале метода отключается поиск устройств для экономии ресурсов устройства:

    Получение сообщений от других устройств — класс ServerThread

    ServerThread принимает входящие соединения и читает данные из полученного сокета. Поток 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?