Где на смартфоне строка состояния
Строка состояния и панель уведомления — важнейшие элементы рабочей области любого Android-устройства. Размещены они в верхней части экрана. Строка состояния сообщает пользователю всю необходимую информацию: дату, время, уровень заряда батареи, сигнал Wi-Fi или мобильной сети. Рассмотрим наиболее распространенные значки уведомлений и их значения.
Иконка | Значение |
---|---|
нет сигнала | |
текущий уровень сигнала | |
соединение с сетью GPRS | |
соединение с сетью EDGE | |
соединение с сетью UMTS | |
есть доступные сети Wi-Fi | |
подключена сеть Wi-Fi | |
включен модуль Bluetooth | |
включен модуль GPS | |
выполняется вызов | |
удерживается текущий вызов | |
вызов переключен на громкую связь | |
есть пропущенные вызовы | |
синхронизация | |
прием данных | |
отправка данных | |
подключение к ПК | |
включен USB-модем | |
отсутствует или повреждена SIM-карта | |
новое SMS или MMS | |
установлен сигнал будильника | |
уведомление о событии | |
роуминг | |
включен режим Без звука | |
включен режим Вибрация | |
включен Автономный режим | |
воспроизведение музыки | |
воспроизведение музыки приостановлено | |
произошла ошибка | |
уровень заряда батареи |
Значки строки состояния, как правило, расположены в правой части экрана, а в левой части строки состояния — значки уведомлений. Чтобы вызвать панель уведомлений, выполните следующие действия.
Значки строки состояния, как правило, расположены в правой части экрана, а в левой части строки состояния — значки уведомлений
- Поставьте палец на строку состояния. Потяните ее вниз.
- Просмотрите поступившие уведомления.
Из панели уведомлений можно моментально вызвать приложение, коснувшись его. Если вы хотите удалить уведомление из списка, коснитесь его и, не отпуская пальца, проведите вправо или влево.
Панель уведомлений может быть совмещена с панелью быстрого доступа к настройкам, а может открываться отдельно. В таком случае, потянув за левую часть строки состояния, вы увидите панель уведомлений, за правую — панель быстрого доступа к настройкам.
Программа для Android под названием Bar Launcher позволяет закрепить панель уведомлений поверх всех окон.
Статья рассказывает о том как работать со строкой состояния в Android. Статья рассчитана на начинающих программистов под Android только осваивающих разработку под платформу. Также стоит заметить что строка состояния в большей степени используется для уведомления пользователя о каких либо событиях произошедших в системе, что по целевой задаче роднит её со всплывающими уведомлениями Toast. На Хабрахабре уже имеется достаточно полная статья о работе с Toast, и данный пост лишь развивает тему уведомлений.
Сам текст статьи писался для песочницы, и по сути Hello world как он есть. Сейчас меня интересует интересно ли вообще кому либо это направление, или же оно того не стоит.
Кратко о строке уведомления
На первом скриншоте представлена раскрытая строка состояния в стандартной оболочке Android (некоторые производители мобильных устройств в своих оболочках могут изменить её внешний вид, хотя суть остаётся той же). Строка состояния в Android по большей части используется для уведомления пользователя о каких либо событиях произошедших в системе, а также о результатах работы каких либо приложений. Существенным отличием от всплывающих уведомлений Toast является то что уведомления в строке состояния не пропадают спустя время, и «висят» там до тех пор пока пользователь как-то на них отреагирует. Строку состояния удобно использовать для получения уведомлений от приложений запущенных в фоновом режиме, а также с появлением уведомления можно проиграть какой либо звук, вибрацию, или же воспользоваться мигающими индикаторами на устройстве (если они имеются). Уведомление представленное на скриншоте — именно то чего сегодня мы и будем добиваться.
Создание простого уведомления в строке состояния
Для начала попробуем создать стандартное уведомление для командной строки так как это рекомендуют в Google. Разметку интерфейса приложения оставим без изменений (уведомление будет появляться сразу после его запуска). И так, пример кода (с комментарием того что возможно может быть не ясным):
public class NotificationBar extends Activity /** Called when the activity is first created. */
private static final int NOTIFY_ID = 1; // Уникальный индификатор вашего уведомления в пределах класса
@Override
public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);
setContentView(R.layout.main);
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); // Создаем экземпляр менеджера уведомлений
int icon = android.R.drawable.sym_action_email; // Иконка для уведомления, я решил воспользоваться стандартной иконкой для Email
CharSequence tickerText = "Hello Habrahabr" ; // Подробнее под кодом
long when = System.currentTimeMillis(); // Выясним системное время
Notification notification = new Notification(icon, tickerText, when); // Создаем экземпляр уведомления, и передаем ему наши параметры
Context context = getApplicationContext();
CharSequence contentTitle = "Habrahabr" ; // Текст заголовка уведомления при развернутой строке статуса
CharSequence contentText = "Пример простого уведомления" ; //Текст под заголовком уведомления при развернутой строке статуса
Intent notificationIntent = new Intent( this , NotificationBar. class ); // Создаем экземпляр Intent
PendingIntent contentIntent = PendingIntent.getActivity( this , 0, notificationIntent, 0); class ); // Подробное описание в UPD к статье
notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent); // Передаем в наше уведомление параметры вида при развернутой строке состояния
mNotificationManager.notify(NOTIFY_ID, notification); // И наконец показываем наше уведомление через менеджер передав его ID
>
>
* This source code was highlighted with Source Code Highlighter .
CharSequence tickerText = «Hello Habrahabr»; — в этой строке мы указываем текст который будет показан в свёрнутой строке состояния на несколько секунд при появлении уведомления. Спустя несколько секунд он исчезнет, а в строке останется лишь иконка.
Вот пожалуй и всё. Можно открывать шампанское, и наблюдать то что у нас получилось.
Создание расширенного уведомления в строке состояния
Теперь несколько усложним задачу — мы будем создавать уведомление не по шаблону что предлагает Google, а по собственной разметке (благо такая возможность имеется). И так создадим новый файл разметки в папке layout, у вас он должен получиться таким:
* This source code was highlighted with Source Code Highlighter .
Также добавим какую либо картинку в папку drawable дабы потом установить её в ImageView.
Теперь код. Код не сильно отличается от кода простого уведомления, но тем не менее требует комментария
public class NotificationBar extends Activity /** Called when the activity is first created. */
private static final int NOTIFY_ID = 1; // Уникальный индификатор вашего уведомления в пределах класса
@Override
public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); // Создаем экземпляр менеджера уведомлений
int icon = android.R.drawable.sym_action_email; // Иконка для уведомления, я решил воспользоваться стандартной иконкой для Email
CharSequence tickerText = "Hello Habrahabr" ; // Подробнее под кодом
long when = System.currentTimeMillis(); // Выясним системное время
Intent notificationIntent = new Intent( this , NotificationBar. class ); // Создаем экземпляр Intent
Notification notification = new Notification(icon, tickerText, when); // Создаем экземпляр уведомления, и передаем ему наши параметры
PendingIntent contentIntent = PendingIntent.getActivity( this , 0, notificationIntent, 0); // Подробное описание смотреть в UPD к статье
RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.notlayout); // Создаем экземпляр RemoteViews указывая использовать разметку нашего уведомления
contentView.setImageViewResource(R.id.image, R.drawable.habr); // Привязываем нашу картинку к ImageView в разметке уведомления
contentView.setTextViewText(R.id.text, "Привет Habrahabr! А мы тут, плюшками балуемся. " ); // Привязываем текст к TextView в нашей разметке
notification.contentIntent = contentIntent; // Присваиваем contentIntent нашему уведомлению
notification.contentView = contentView; // Присваиваем contentView нашему уведомлению
mNotificationManager.notify(NOTIFY_ID, notification); // Выводим уведомление в строку
>
>
* This source code was highlighted with Source Code Highlighter .
В итоге можем открывать вторую бутылку, и наблюдать примерно такую картину:
Добавляем звук и вибрацию, мигаем индикаторами.
Для пущей важности добавим звук при выводе уведомления и вибрацию. Сделать это совсем не сложно.
notification.defaults |= Notification.DEFAULT_SOUND; — данная строка присваивает уведомлению звук что используется в системе по умолчанию.
notification.sound = Uri.parse(«file:///sdcard/notification/ringer.mp3»); — таким способом можно установить звук из файла на SD карте.
notification.defaults |= Notification.DEFAULT_VIBRATE; — данная строка добавляет вибрацию в колличестве времени по умолчанию.
Кроме того имеется возможность задать время вибрации самостоятельно. Делается это двумя строчками
long[] vibrate = ; — создаем массив, в котором 1-ое число — время которое следует подождать до того как запустить вибрацию. Второе значение — время первой вибрации в миллисекундах (аналогично и 3, и 4 значение). Количество вибраций может быть бесконечно большим по усмотрению программиста.
notification.vibrate = vibrate; — присваиваем массив нашему уведомлению.
notification.defaults |= Notification.DEFAULT_LIGHTS; — данной строкой мы можем по мигать индикаторами с параметрами по умолчанию.
Конечно можно настроить параметры и в ручную.Для этого нам потребуется 4 строки:
notification.ledARGB = 0xff00ff00; — задаем цвет для RGB индикатора.
notification.ledOnMS = 300; — задаем время между миганиями
notification.ledOffMS = 1000; — задаем время спустя которое горящий индикатор потухнет
notification.flags |= Notification.FLAG_SHOW_LIGHTS; — разрешаем мигать
Тут следует заметить что далеко не на всех девайсах вообще имеются какие либо индикаторы.
Естественно все эти установки нужно производить до строчки вызова уведомления.
Заключение
UPD: при внимательном рассмотрении выяснилось что комментарий к одной из строчек кода отсутствует (обещается объяснить под кодом, но самого объяснения нет). Досадную ошибку исправляет, а также ряд ф-и строки состояния о которых я сообщить забыл восполняет пользователь djvu, взглянуть можно в комментариях: 1, 2. О существовании серьезных подводных камней сообщает sdmitry вот тут.
Дорогие друзья, пользователи системы Андроид!
Эта статья, как и практически все статьи в разделе Секреты Андроида, предназначается в основном для новичков.
В приобретенном вами смартфоне на операционной системе Android есть один поначалу малозаметный, но достаточно важный и информативный элемент. Он находится в самой верхней части Главного экрана (и вообще любого рабочего стола с иконками приложений) и выглядит как узкая строчка со значками. Это – строка состояния. Иногда ее называют строкой уведомлений, так как там оперативно показываются значки текущих уведомлений о различных событиях и из нее можно открыть Панель уведомлений.
В ней вам дается: в правой части - информация о времени, проценте остаточного заряда батареи и включенных интерфейсах (мобильная сеть, передача мобильных данных, Bluetooth, Wi-Fi), в левой части находятся значки текущих уведомлений.
Для получения более подробной информации строку состояния нужно потянуть вниз и она раскроется в виде шторки (Панели уведомлений).
Панель уведомлений
Щелчок по уведомлению вызывает конкретный связанный с ним экран. Можно, например, прочитать входящее письмо или SMS.
Чтобы убрать конкретное уведомление, вам достаточно смахнуть его горизонтальным жестом влево или вправо. Чтобы скрыть сразу все уведомления, нажмите кнопку Скрыть.
В верхней части шторки расположены 5 кнопок быстрого управления режимами смартфона. Если потянуть эту часть пальцем влево, постепенно откроются еще 5 кнопок. Короткое нажатие на кнопку переключает режим. Длинное нажатие открывает меню настроек данного режима.
Для доступа ко всем возможным кнопкам управления нужно нажать на кнопку в виде трех квадратиков и стрелочек в правом верхнем углу Панели уведомлений или, что для многих явится секретом, потянуть закрытую строку состояния не одним, а одновременно двумя пальцами вниз.
Кнопки можно менять местами в экране, открывающемся по нажатию иконки карандаша и сгруппировать в нужном вам порядке (например, часто используемые - в первой пятерке).
Чтобы закрыть Панель уведомлений, достаточно потянуть шторку за нижнюю часть вверх.
Вот кратко и все секреты строки состояния и панели уведомлений. Удачи вам в освоении смартфона.
Например, если вы не знаете, что означают две стрелки и буквы, мы здесь, чтобы помочь разобраться в этих непонятных символах. В конце концов, что хорошего в этих иконах, если вы не можете их понять? Мы также добавили кое-что об использовании настроек Android, таких как EMUI от Huawei.
Строка состояния и панель уведомлений: основное различие
Строка состояния
Строка состояния и панель уведомлений очень похожи, но на самом деле это две разные вещи. Строка состояния находится в верхней части экрана, справа. Здесь отображается время, состояние батареи и текущие соединения, такие как Bluetooth и Wi-Fi.
Строка состояния показывает текущее время, состояние батареи и соединения.
Панель уведомлений
Помимо уведомлений, здесь также находятся быстрые настройки. Вы можете включать и отключать Wi-Fi, Bluetooth и другие параметры. Если вы нажмете и удержите значок, вы введете настройки для этой функции. Большинство производителей предлагают прямой доступ к настройке яркости экрана.
Большинство производителей также сами выполняют подбор быстрых настроек. Поэтому здесь всегда есть несколько вариантов. К счастью, выбор может быть настроен на ваш вкус и привычки, поэтому у вас всегда есть доступ к самым важным настройкам для вас. Кроме того, вы всегда можете отключить раздражающие или неинтересные уведомления, просто нажав на предупреждение. Откроется небольшое меню, где вы можете выбрать, как вы хотите получать уведомления от приложения.
Значение иконок
Для каждого уведомления отображается иконка приложения в дополнение к иконкам для различных системных статусов. С каждой версией Android появляются новые изменения для каждой из них. Начиная с Lollipop, Material Design от Google оказал влияние на эти иконки.
Различные небольшие изменения дизайна могут, к сожалению, создать путаницу. Иногда появляется иконка, значение которой не всегда сразу понятно, что уменьшает ее ценность. Google также признал это и предоставил список всех иконок Material Design. Здесь вы можете четко увидеть, какой значок что означает.
Вот некоторые из самых известных иконок.
На изображении выше представлены самые известные иконки, которые вы уже видели множество раз. В нижней строке картинки находятся иконки для Wi-Fi, Bluetooth, аккумулятора, часов и поворота экрана. В данном списке присутствуют не только те иконки, которые вы привыкли видеть каждый день, но и все иконки Android, с которыми вы когда-либо сталкивались. Список каждой иконки Android разделен на следующие категории:
- действие;
- оповещение;
- AV;
- связь;
- контент;
- устройство;
- редактор;
- файл;
- аппаратное ПО;
- изображение;
- карты;
- навигация;
- уведомления;
- места;
- соцсети;
- переключение.
Несколько слов о надстройках Android
Значки состояния и уведомлений на EMUI 8.0: надстройка-интерфейс Huawei для Android.
Как вы можете видеть на изображении, также можно настроить выпадающую строку состояния, перетаскивая иконки, которые вы используете и не используете, так что при запуске строки состояния отображаются только те значки, которые вы выбрали. Довольно круто!
В итоге можно сказать, что такие иконки являются стандартными для Android, но они могут немного отличаться от производителя к производителю.
А вы когда-нибудь видели уведомление или иконку, смысл которых вы не могли сразу понять? Расскажите нам об этом в комментариях и сообщите нам, какой у вас телефон.
Читайте также: