Что такое shutdown на андроид
Краткое описание:
Приложение для дистанционного отключения или запуска компьютера с помощью устройства Android.
Описание:
Shutdown Start Remote это приложение для дистанционного отключения или запуска компьютера с помощью устройства Android, очень простое в использовании.
Важное сообщение для пользователей обновления: вам нужно приложение для ПК версии 3.0.1 с домашней страницы разработчика или из этой темы. Старое больше не поддерживается.
Windows. Выключение компьютера.
Для удобства можно добавить архив в папку с автозагрузкой что бы каждый раз не включать ее самому.
Если у вас установлено ПО Java, открываем с помощью Java и видим окно программы (таймер).
Занимает немного памяти (≈45Mb ОЗУ), не мешает работе компьютера.
Я настраивал с помощью Wi-Fi и при включении приложения во вкладке «Shutdown Computer» у меня появился мой компьютер. Если сетевой сканер не находит компьютер, приложение автоматически предоставляет Вам больше вариантов подключения(Connection Options-Connecting manually). Для начала в окне программы в Windows нажимаем «Show IP», во вкладке «Connection Options» с помощью распознавалки QR-кодов распознаем показанный код(в Connecting manually выбрать галочку «Scan» и выбрать программу(если не установлено по умолчанию) распознавания QR-кодов, их туча в Google Play, я использую Barcode scanner, не важно какой), или можно вписать вручную(в Connecting manually выбрать галочку «Insert» и ввести IP(если роутер и/или статический внешний IP тогда не важно какой из них, если внешний динамический то лучше вписать «internal ip»(тот который присвоил роутер, он же для Вас статический) и нажать «Check»). Если ничего не произошло, убедитесь, что приложение на компьютере работает, и оба устройства в той же сети Wi-Fi. Кроме того, проверьте настройки брандмауэра, не блокирует ли он ничего. После этого нажмите «Refresh» в «Connection Options», все должно заработать.
Все способы перезагрузить Андроид телефон или планшет
Если смартфон перестал адекватно работать, то может возникнуть необходимость в его перезагрузке. Для этого можно использовать одну из возможностей, предусмотренных разработчиком, или специальными программами. В этой статьей мы приведем все способы, как перезагрузить Андроид.
Как перезагрузить телефон на базе Андроид с помощью аккумулятора
Этот способ подойдет только для тех смартфонов, которые оснащены съемным аккумулятором. Если телефон завис и не реагирует на нажатие кнопок или тапов по сенсорному экрану, то можно поступить следующим образом:
Это один из доступных способов, как перезагрузить Андроид без кнопки включения. При такой жесткой перезагрузке может устраниться системный сбой, который привел к зависанию устройства. Все ваши файлы при этом сохраняться. Но такой способ нельзя использовать часто, после такой перезагрузки необходимо провести очистку от вирусов и устранить причину, которая привела к сбоям в работе устройства. Все больше современных смартфонов оснащают сейчас не съемными аккумуляторами, а встроенным, поэтому такой вариант перезагрузки подойдет не во всех случаях.
Как перезагрузить Андроид с помощью кнопки Power
Самый простой способ, как перезагрузить планшет Андроид или другое устройство с этой операционной системой – длительное удерживание в нажатом положении кнопки питания. Если вы сделаете это на смартфоне или планшете, появится меню выключения устройства. Как только на экране высветится это окно, то вам необходимо отпустить кнопку и выбрать нужное действие. В нашем случае это «Перезагрузка». Устройство перезапуститься, а ваши файлы останутся на прежнем месте.
Пользуемся стандартными настройками
Если мягкой перезагрузки вам недостаточно или вы хотите сбросить настройки устройства, то можно обратиться к меню. В этом случае, ваши файлы будут стерты, поэтому стоит сделать резервную копию в облачном хранилище. Для этого сделайте так:
Инструкция, как перезагрузить Андроид на телефоне при помощи стандартного меню, следующая:
Этот вариант перезагрузки подойдет в том случае, если вы хотите устранить программный сбой и избавиться от неправильно удаленных приложений или скрытых файлов.
Перезагрузка при помощи сочетания клавиш, когда телефон выключен
Теперь разберемся, как перезагрузить Андроид кнопками. Этот способ можно использовать в нескольких случаях:
В последнем случае, если устройство не запускается при нажатии на кнопку включения, лучше всего поставить его на зарядку и манипуляции проводить только при подключении к сети. Хотя в части случаев устройство, начав получать питание, выходит из зависшего состояния.
После того как вы попадете в меню, необходимо при помощи клавиш регулировки громкости и питания выбрать подходящую команду:
Во время перезагрузки устройства, нельзя лишать его питания. Поэтому не вынимайте в процессе аккумулятор, а в том случае, если вы не уверены в уровне его заряда, подключите девайс к источнику питания.
Приложения для перезагрузки смартфона
ROM Toolbox
Недостаток приложения лишь в том, что оно сделано на английском языке, а со своими задачами оно справляется отлично. Выбирайте вариант перезапуска системы, который вам больше всего подходит.
Это приложение устанавливается на компьютер. Желательно скачивать самую свежую версию. Вместе с утилитой необходимо скачать файл CWM Recovery, подходящий для вашей модели девайса. Затем необходимо действовать по инструкции:
Теперь вы знаете все способы, как перезагрузить Андроид, если он завис. Поделитесь этой информацией с друзьями, чтобы и они могли справиться с проблемами со своим девайсом. Если у вас возникли сложности, задавайте вопросы в комментариях, мы обязательно поможем.
Троян под Android работает после «выключения» смартфона
Реверс малвари
Существует миф, что спецслужбы могут отслеживать местоположение даже выключенного мобильника. Новый троян под Android 5+ в каком-то смысле реализует эту концепцию.
Специалисты из антивирусной компании AVG рассказывают о зловреде, который продолжает работать даже когда телефон кажется выключенным. Получив рутовые права в системе, он перехватывает вызов на выключение аппарата, затем показывает фирменную анимацию выключения телефона и гасит экран. Пользователь думает, что телефон выключен, но на самом деле он работает: троян может осуществлять исходящие вызовы, делать фотографии и осуществлять другие поставленные задачи.
Под Android при нажатии кнопки Power активируется функция interceptKeyBeforeQueueing, которая вызывает соответствующий процесс.
Когда кнопка отпущена, активируется intereceptPowerKeyUp.
На экране возникает диалог, предоставляя выбор из нескольких действий.
Если выбрать опцию выключения аппарата, вызывается mWindowManagerFuncs.shutdown.
И вот здесь после обращения к функции ShutDownThread.shutdown непосредственно инициируется процедура отключения питания на физическом уровне.
Вредоносная программа запускает процесс в фоновом режиме и перехватывает вызовы к mWindowManagerFuncs. Таким образом, когда пользователь выбирает опцию отключения энергии, вместо системного процесса запускается анимация, после чего экран отключается, но аппарат продолжает работу.
Троян обнаружили в китайских магазинах приложений и к настоящему моменту заразил около 10 000 устройств.
Что такое shutdown на андроид
Краткое описание:
Приложение для дистанционного отключения или запуска компьютера с помощью устройства Android.
Описание:
Shutdown Start Remote это приложение для дистанционного отключения или запуска компьютера с помощью устройства Android, очень простое в использовании.
Важное сообщение для пользователей обновления: вам нужно приложение для ПК версии 3.0.1 с домашней страницы разработчика или из этой темы. Старое больше не поддерживается.
Windows. Выключение компьютера.
Для удобства можно добавить архив в папку с автозагрузкой что бы каждый раз не включать ее самому.
Если у вас установлено ПО Java, открываем с помощью Java и видим окно программы (таймер).
Занимает немного памяти (≈45Mb ОЗУ), не мешает работе компьютера.
Я настраивал с помощью Wi-Fi и при включении приложения во вкладке «Shutdown Computer» у меня появился мой компьютер. Если сетевой сканер не находит компьютер, приложение автоматически предоставляет Вам больше вариантов подключения(Connection Options-Connecting manually). Для начала в окне программы в Windows нажимаем «Show IP», во вкладке «Connection Options» с помощью распознавалки QR-кодов распознаем показанный код(в Connecting manually выбрать галочку «Scan» и выбрать программу(если не установлено по умолчанию) распознавания QR-кодов, их туча в Google Play, я использую Barcode scanner, не важно какой), или можно вписать вручную(в Connecting manually выбрать галочку «Insert» и ввести IP(если роутер и/или статический внешний IP тогда не важно какой из них, если внешний динамический то лучше вписать «internal ip»(тот который присвоил роутер, он же для Вас статический) и нажать «Check»). Если ничего не произошло, убедитесь, что приложение на компьютере работает, и оба устройства в той же сети Wi-Fi. Кроме того, проверьте настройки брандмауэра, не блокирует ли он ничего. После этого нажмите «Refresh» в «Connection Options», все должно заработать.
Управляем компьютером с Android устройства
Начало
А началось все с того, что вызывает меня генеральный к себе, и говорит: «Вот видишь телефон? Хочу чтобы там была кнопка, я на нее нажимаю, и у меня в ноутбуке кино включается. Нажимаю другую – музыка играет.» И еще чего-то много наговорил, уж не помню. «Задача понятна? Выполняй!» Вот уж не знаю, с чего такая потребность у него возникла. То ли звезды не под тем углом встали, то ли сон какой приснился. Короче, не поймешь этих богатых… Ну да ладно.
Поначалу полез рыться в Гугл в поисках подходящей программы, а потом подумал – а какого черта? Напишу сам. Тем более, что задача не показалась сложной, да и “зов кода” уже давал о себе знать (этакая профессиональная it-ломка). Вот и решил соединить Windows и Android собственными силами.
То, что он просил, я сделал за пару дней. Но здесь я не хочу городить много кода, проверок и обработок исключений и т.п. Статья скорее предназначена для самых маленьких, как основа, опираясь на которую, можно построить что-то более масштабное. Ни в коем случае не претендую на оригинальность, явно кто-то что-то подобное писал, я просто предлагаю свой вариант. В общем, всем, кому интересно, посвящается.
Что мы имеем
Значит так. С одной стороны, у нас телефон с Android на борту, с другой — Windows с установленными программами, притом некоторые из этих программ нам надо запускать, подав команду с телефона.
Телефон и компьютер свяжем через локальную сеть, тут без вариантов (ну не смски же посылать). Таким образом, будем писать две программы. Первая — это сервер, работающий на компьютере, задача этой программы — открыть и слушать порт. Если на этот порт падает что-то полезное, то выполнить заданное нами действие. Вторая программа — это клиент, запущенный на телефоне, ее задача обработать действия пользователя, подключиться к серверу и передать информацию.
Немного о сокетах
Тема программирование сокетов до того уже заезженная, что и особо говорить нечего. Но все же в двух словах, для тех, кто не любит ходить по ссылкам.
Сокет — это программный интерфейс, который позволяет устанавливать связь между двумя процессами, используя протокол tcp/ip. Сокет ассоциирован с двумя аспектами: ip-адресом и портом. Где ip-адрес — это адрес хоста (компьютера) в сети, с ним работает протокол IP. Port — это идентификатор приложения, к которому адресовано соединение, тут работает протокол TCP. Порт может быть как TCP, так и UDP, в этой статье я буду использовать только TCP. Поскольку ip-адрес является уникальным как в сети интернет, так и в локальной сети, то он однозначно определяет адрес отправителя и адрес принимающего. Порт же является уникальным в пределах операционной системы, он определяет приложение, с которым мы хотим взаимодействовать. Порты могут быть стандартными, например, 80 закреплен за HTTP, или 3389 — RDP. Вы можете использовать любой незанятый порт, но стандартные лучше не трогать. Очень хорошо и с примерами о сокетах написано здесь.
Сервер. Начинаем хулиганить
Запускать Aimp, Windows Media Player и т.п. даже с телефона — это не интересно, да и на базе этой статьи вы сможете все это легко реализовать, немного переделав код. Давайте лучше побезобразничаем. Будим крутить-вертеть экран монитора как нам вздумается или выводит неожиданные сообщения (этакий однонаправленный ацкий мессенджер), и самое ужасное — выключим компьютер! Правда, за это могут и на вилы надеть. Ну да ладно, пускай сначала поймают.
Итак, приступим. В Visual Studio создаем новое Windows Form приложением с именем, скажем, FunnyJoke. Открываем файл Program.cs и удаляем весь код в теле функции Main. Этот код инициализирует главную форму приложения, нашему серверу никакие окна не нужны, он должен сидеть тихо мирно и ждать команд.
В классе Program определим следующие переменные:
Я взял порт 10000, именно его и будет слушать наш сервер, вместо ip адреса задал 0.0.0.0 это говорит о том, что будут обрабатываться все доступные сетевые интерфейсы. Это не совсем правильно, но для начала сойдет. Далее я определил три константы, которые задают коды команд, приходящие от клиента. В начале проекта не забываем подключить:
Теперь, вместо удаленного кода в функции Main вставляем следующий:
Пример хорошо комментирован. Но все же поясню. Сначала создаем локальную конечную точку и ассоциируем ее с нашим ip адресом и портом. Затем, определяем основной сокет, связываем его с конечной точкой, и переводим в режим прослушивания. После этого входим в бесконечный цикл, и начиная со строки:
наш сервер переходит в состояние ожидания соединения. При удачном соединении создастся новый экземпляр Socket, посредствам которого мы и будем общаться с нашим клиентом. После того как соединение установлено начинаем читать данные:
Команды клиента закодированы однобайтовым кодом (описаны в начале программы), сервер расшифровав код команды начинает ее выполнять, после этого снова переходит в режим ожидания. Исключением является codeMsg, т.к. после нее ожидается набор байт, содержащий строку сообщения. Поэтому, получив эту команду сервер снова читает данные с сокета:
Строка, приходящая от клиента, имеет кодировку символов UTF-8, поэтому прежде чем показать ее несчастному пользователю, необходимо привести ее к стандартному виду.
Что бы упростить программу, и не создавать лишние диалоги я использовал стандартный класс MessageBox, но у таков подхода есть один недостаток. MessageBox создает модальное окно, которое блокирует поток всего приложения. Другими словами, пока открыто окно с сообщением наш сервер ничего не делает. Минус конечно, но за простоту надо платить.
С сервером, пожалуй, все. Исходный код проекта я прикреплю в конце статьи.
Клиент
Клиент будем писать в Android Studio, поскольку мне эта IDE больше нравится чем Eclipse. Любителям последнего думаю не составит больших трудностей переделать проект. Для отладки я использовал VirtualBox с установленной виртуальной машиной Android, ибо родной эмулятор жутко тормозной, и жизни не хватить что бы с его помощью что-то отладить. Ну и периодически проверял на «живом» телефоне. Итак, создаем проект с именем FunnyJoke, задаем минимальную версию API, которую способен утянуть ваш телефон (у меня 16) и выбираем Empty Activity. Все остальное по умолчанию. Делаем разметку представления. С дизайном я шибко не извращался, кому надо пускай рисует красивые кнопки, размещает их по фен Шую и т.п. Я сделал просто: два поля типа EditText, первое для ввода ip адреса контролируемого компьютера, второе для текста сообщения, и кнопка, которая заставит поворачиваться рабочий стол. А вот кнопку завершения работы я сделал большую и угрожающее красную. Это чтоб случайно не нажать.
Тут стоит обратить внимание на поле edIPaddress, в нем стоит фильтрация на ввод только цифр и. (точка), так-как поле предназначено для ввода ip адреса. Надо сказать, что это единственная проверка на правильность введенных данных, все остальное остается на совести пользователя. Еще хочу cказать о кнопке btnPowerOff ее состояние отслеживает селектор, и в зависимости от того нажата она или нет меняет изображение (иначе, не понятно произошло ли нажатие, кнопка будет выглядеть как статичная картинка). Вот код селектора button_img.xml:
Соответственно в ресурсах должны быть две картинки одна для нажатого состояния, другая для обычного. Получится вот такой экран:
На этом с разметкой закончим. Переходим к файлу MainActivity.java. В первую очередь, так же, как и в сервере, определяем коды команд и некоторые переменные:
Далее переходим к обработчику нажатия кнопок. Обратите внимание, что обработчик один, и какая копка была нажата определяем по идентификатору. В первую очередь получаем строку с поля edIPaddress, если поле не заполнено, то выводим сообщение о необходимости ввода ip адреса, и больше ничего не делаем.
В Android не рекомендуется создавать долгоиграющие процессы в основном потоке, это связанно с тем, что возможно “подвисание” программы, и пользователь или система может просто закрыть приложение, не дождавшись ответа. К таким долгоиграющим процессам относится и работа с сетью. В этом случае необходимо создать дополнительный поток, в котором и выполнять “долгий” код. В java есть стандартный класс Thread, который позволяет управлять потоками но, его мы использовать не будем, т.к. в Android существует специально предназначенный для этого класс AsyncTask. Подробно можно почитать здесь или здесь.
Создаем класс, который будет заниматься отправкой сообщения, его родителем делаем AsyncTask, и переопределяем метод doInBackground в теле которого и будет находится основной код:
Сначала создаем экземпляр класса InetAddress, который будет содержать в себе ip сервера. Потом создаем сокет, связываем его с удаленным адресом и портом, и запрашиваем стандартный поток ввода/вывода (вернее только вывода, потому что наш клиент ничего не получает). И наконец, в зависимости от значения переменной codeCommand, посылаем сообщение серверу.
Теперь вернемся к нашему обработчику нажатия кнопок, создадим экземпляр класса SenderThread, затем в зависимости от того какая кнопка была нажата инициализируем переменную codeCommand, по ней наш поток будет определять что мы от него хотим. И наконец, активируем, вызвав метод execute().
Немного поправим манифест приложения, дадим разрешение на использование сети и wi-fi, без этого ничего работать не будет:
Все! Можно собирать и проверять. Вот результат:


















