Как сделать свой лаунчер для андроид. Как создать лаунчер?

Разработка Android-лаунчера

Как сделать свой лаунчер для андроид. Как создать лаунчер?

Лаунчер, либо приложение-оболочка в операционной системе Android – это основное приложение операционной системы, используемое для установки и пуска остальных приложений. Так как Дроид основан на концепции открытого кода (Open-Source), штатный Android-лаунчер может быть заменен на лаунчер, разработанный специально для целей пользователя.

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

Андроид-лаунчер дозволяет переопределить действие, выполняемое по нажатию клавиши Home, а также некие остальные деяния, как правило, обрабатываемые системными приложениями (такие, как поиск на устройстве либо действие “открыть URL”).

Однозадачный режим Android – режим киоска

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

“Детский” либо корпоративный режим Android – ограничение количества доступных юзеру приложений

Более непростой вид лаунчера – это оболочка с ограничениями на установку и пуск приложений. Перечень приложений, которые юзер может запустить, указывается в конфигурации лаунчера. Ежели этот перечень не включает Play Market и менеджер файлов SD-карты – юзер не может установить остальные приложения либо игры, тем самым оставаясь в рамках собственных служебных обязательств. А в случае “детского режима” пользователь-ребенок может воспользоваться только теми приложениями, которые разрешены к использованию его родителями.

Приложение-оболочка дозволит защитить телефон паролем и разграничить роли пользователей

В качестве доборной функциональности оболочки, делающей Android-устройство наиболее безопасным и подходящим для корпоративного использования, можно указать такие функции, как защита Android-устройства паролем, определение прав доступа в согласовании с ролью юзера (обычный работник, менеджер либо администратор), а также автоматическое обновление корпоративного программного обеспечения с веб-сайта компании – так именуемый “управляемый лаунчер” либо “управляемый киоск”.

Дополнительные способности лаунчера реализуются с помощью его реализации в виде системного приложения

Некоторые функции операционной системы Android, такие, как, к примеру, выход в системные опции из статус-бара либо пуск менеджера задач по нажатию клавиши “Недавние” находятся вне контроля лаунчера и не могут быть переопределены. В случае, ежели заказчику требуется переопределение этих действий, в прошивку устройства могут быть внесены надлежащие конфигурации (требуется root-доступ к телефону). Таковым образом, лаунчер дополняется кастомной прошивкой Android.

Как заказать разработку лаунчера для собственного мобильного проекта?

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

Читайте также  Как добавить слой маску в фотошопе cs6. Маски в Фотошопе

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

Создайте кастомный лаунчер на Android

Вступление

В собственной самой основной форме, средство пуска — это приложение, которое выполняет последующие действия:

  • он представляет домашний экран устройства
  • он перечисляет и запускает приложения, которые установлены на устройстве

Иными словами, это приложение, которое возникает при нажатии клавиши «Домой». Ежели вы еще не установили пользовательский модуль пуска, в настоящее время вы используете модуль пуска по умолчанию, который поставляется с вашей установкой Android. Почти все производители устройств имеют свои собственные обычные пусковые установки, которые соответствуют их фирменному стилю, к примеру, Samsung TouchWiz и HTC Sense.

В этом уроке мы собираемся сделать обычный модуль пуска с базисным пользовательским интерфейсом. У него будет два экрана:

  • домашний экран, показывающий обои устройства
  • экран, показывающий значки и информацию о приложениях, установленных на устройстве

Кстати, ежели вы много работаете с Android, вы сможете испытать один из 1000+ шаблонов приложений Android на Envato Market. Есть большущее обилие, так что вы непременно отыщите что-то там, чтоб посодействовать для вас с вашей работой. Либо вы могли бы передать области, которые не являются вашей специальностью, наняв разраба приложений либо дизайнера в Envato Studio.

1. Требования

На вашем компе разработки обязано быть установлено и настроено следующее:

  • Android SDK и инструменты платформы
  • Eclipse IDE 3.7.2 либо выше с плагином ADT
  • эмулятор либо устройство Android под управлением Android 2.2 либо выше

Вы сможете скачать SDK и инструменты платформы на портале разрабов Android .

2. Настройка проекта

Запустите Eclipse и сделайте новейший проект приложения для Android. Я называю приложение SimpleLauncher , но вы сможете именовать его как угодно. Удостоверьтесь, что вы используете неповторимый пакет. Самая низкая версия SDK, которую поддерживает наша программа пуска, — это Froyo, а мотивированной SDK — Jelly Bean .

Так как мы не желаем создавать , отмените выбор « Создать активность» . Нажмите Готово, чтоб продолжить.

3. Манифест проекта

Последующим шагом является изменение файла AndroidManifest.xml методом прибавления 2-ух действий. 1-ое действие показывает домашний экран. Давайте это как показано ниже.

Читайте также  Что делать если интернет плохо ловит. Почему плохо работает интернет на телефоне: причины и решения
    android:name=»ah.hathi.simplelauncher.HomeActivity»
    android:label=»Simple Launcher Home»
    android:theme=»@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen»
    android:launchMode=»singleTask»
    android:stateNotNeeded=»true»
      <action android_name=»android.intent.action.MAIN» />
      <category android_name=»android.intent.category.HOME» />
      <category android_name=»android.intent.category.DEFAULT» />

Добавляя категории и в группу , связанное с ними действие ведет себя как средство пуска и отображается в качестве параметра при нажатии клавиши «Домой» на устройстве.

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

2-ое действие, которое нам необходимо добавить, показывает приложения, которые установлены на устройстве юзера. Он также отвечает за пуск приложений. Нам не необходимы никакие особые опции для этого . Назовите его .

    android:name=»ah.hathi.simplelauncher.AppsListActivity»
    android:theme=»@android:style/Theme.NoTitleBar.Fullscreen»

4. Схемы деятельности

Сделайте файл XML для класса в папке проекта res / layout и назовите его activity_home.xml . Макет имеет одну которая реагирует на действия нажатия. Нажатие на клавишу переводит юзера с главенствующего экрана в перечень приложений.

<RelativeLayout xmlns_android=»http://schemas.android.com/apk/res/android»
    xmlns:tools=»http://schemas.android.com/tools»
    android:layout_width=»match_parent»
    android:layout_height=»match_parent»
    tools:context=».HomeActivity» >
        android:id=»@+id/apps_button»
        android:layout_width=»wrap_content»
        android:layout_height=»wrap_content»
        android:layout_alignParentRight=»true»
        android:layout_alignParentTop=»true»
        android:layout_marginRight=»10dp»
        android:layout_marginTop=»10dp»
        android:text=»Show Apps»
        android:onClick=»showApps»

Потом сделайте файл XML для класса в папке проекта res / layout и назовите его activity_apps_list.xml . Макет содержит который занимает весь экран.

<?xml version=»1.0″ encoding=»utf-8″?>
<LinearLayout xmlns_android=»http://schemas.android.com/apk/res/android»
    android:layout_width=»match_parent»
    android:layout_height=»match_parent»
    android:orientation=»vertical» >
        android:id=»@+id/apps_list»
        android:layout_width=»match_parent»
        android:layout_height=»match_parent»

В конце концов, сделайте 3-ий файл XML в том же месте и назовите его list_item.xml . Этот файл описывает макет элемента в . Каждый элемент представления перечня представляет приложение, установленное на устройстве юзера. Он указывает значок приложения, метку и заглавие пакета. Мы отображаем значок приложения, используя экземпляр и для метки и имени пакета.

<?xml version=»1.0″ encoding=»utf-8″?>
<RelativeLayout xmlns_android=»http://schemas.android.com/apk/res/android»
    android:layout_width=»match_parent»
    android:layout_height=»match_parent»
    android:padding=»10dp»
        android:id=»@+id/item_app_icon»
        android:layout_width=»wrap_content»
        android:layout_height=»wrap_content»
        android:layout_alignParentLeft=»true»
        android:layout_centerVertical=»true»
        android:id=»@+id/item_app_label»
        android:layout_width=»wrap_content»
        android:layout_height=»wrap_content»
        android:layout_toRightOf=»@+id/item_app_icon»
        android:paddingLeft=»10dp»
        android:id=»@+id/item_app_name»
        android:layout_width=»wrap_content»
        android:layout_height=»wrap_content»
        android:layout_below=»@+id/item_app_label»
        android:layout_toRightOf=»@+id/item_app_icon»
        android:paddingLeft=»10dp»

5. Реализация классов деятельности

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

Сделайте новейший класс с именованием и установите качестве суперкласса.

package ah.hathi.simplelauncher;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
public class HomeActivity extends Activity {
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home);
    public void showApps(View v){
        Intent i = new Intent(this, AppsListActivity.class);

В способе класса мы вызываем , передавая макет, который мы сделали ранее. Может быть, вы помните, что мы добавили клавишу в макет activity_home, которая вызывает способ с именованием . Сейчас нам необходимо воплотить этот способ в классе . Реализация достаточно проста, мы создаем для класса и запускаем его.

Сделайте иной класс именованием и установите качестве его суперкласса. В способе класса мы вызываем , передавая макет activity_apps_list, который мы сделали ранее.

Читайте также  Почему в whatsapp не показывает контакты. Whatsapp не видит контакты телефона
package ah.hathi.simplelauncher;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
public class AppsListActivity extends Activity {
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_apps_list);

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

Ежели вы выбираете Simple Launcher Home , вы должны узреть новейший домашний экран с одной клавишей в ​​правом верхнем углу экрана. Вы также должны узреть текущие обои вашего устройства.

Как сделать свой лаунчер для андроид. Как создать лаунчер?

Вернитесь в Eclipse и сделайте класс с именованием который будет содержать сведения о приложении, его имени пакета, метке и значке приложения. Интерфейс достаточно обычной, как вы сможете созидать ниже.

package ah.hathi.simplelauncher;
import android.graphics.drawable.Drawable;

6. Выбор приложений

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

private PackageManager manager;
private List<AppDetail> apps;
    manager = getPackageManager();
    apps = new ArrayList<AppDetail>();
    Intent i = new Intent(Intent.ACTION_MAIN, null);
    i.addCategory(Intent.CATEGORY_LAUNCHER);
    List<ResolveInfo> availableActivities = manager.queryIntentActivities(i, 0);
    for(ResolveInfo ri:availableActivities){
        AppDetail app = new AppDetail();
        app.label = ri.loadLabel(manager);
        app.name = ri.activityInfo.packageName;
        app.icon = ri.activityInfo.loadIcon(manager);

7. Отображение перечня приложений

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

private void loadListView(){
    list = (ListView)findViewById(R.id.apps_list);
    ArrayAdapter<AppDetail> adapter = new ArrayAdapter<AppDetail>(this,
        public View getView(int position, View convertView, ViewGroup parent) {
                convertView = getLayoutInflater().inflate(R.layout.list_item, null);
            ImageView appIcon = (ImageView)convertView.findViewById(R.id.item_app_icon);
            appIcon.setImageDrawable(apps.get(position).icon);
            TextView appLabel = (TextView)convertView.findViewById(R.id.item_app_label);
            appLabel.setText(apps.get(position).label);
            TextView appName = (TextView)convertView.findViewById(R.id.item_app_name);
            appName.setText(apps.get(position).name);
    list.setAdapter(adapter);

8. Прослушивание кликов

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

private void addClickListener(){
    list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        public void onItemClick(AdapterView<?> av, View v, int pos,
            Intent i = manager.getLaunchIntentForPackage(apps.get(pos).name.toString());
            AppsListActivity.this.startActivity(i);

9. Соединяем все вместе

Чтоб все работало вкупе, нам необходимо вызвать , и в способе класса как показано ниже.

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_apps_list);

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

Вывод

Сейчас у вас есть собственный свой лаунчер. Это чрезвычайно просто, но вы сможете добавить все нужные опции. Ежели вы желаете поглубже изучить пользовательские средства пуска, я рекомендую для вас посмотреть на примеры приложений на портале разрабов Android .

Оставьте комментарий