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

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

Для создания иконки приложения на рабочем столе Android необходимо добавить соответствующие разрешения и компоненты в манифест приложения (AndroidManifest.xml). В частности, добавьте intent-фильтр с действием MAIN и категорией LAUNCHER для активности, которую вы хотите запускать при нажатии на иконку.

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

Создание иконки приложения на рабочем столе Android включает несколько этапов, начиная с конфигурации манифеста и заканчивая созданием соответствующих ресурсов. В данном ответе рассмотрим процесс подробно.

Конфигурация манифеста

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

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 package="com.example.myapp">
 <application
 android:label="@string/app_name"
 android:icon="@mipmap/ic_launcher">
 
 
 
 
 
 
 
 
 
 <receiver android:name="com.example.myapp.ShortcutReceiver">
 
 <action android:name="com.android.launcher.action.INSTALL_SHORTCUT" />
 
 
 
</manifest>

Создание ресурсов

Для создания ярлыка на рабочем столе необходимо создать соответствующие ресурсы. В данном случае это иконка и метаданные для ярлыка.

Иконка

Иконка должна быть размещена в папке res/mipmap-hdpi или аналогичной по разрешению. Название файла должно начинаться с ic_launcher.


 ic_launcher.png

Метаданные для ярлыка

Метаданные должны быть размещены в файле res/xml/shortcut.xml. Этот файл содержит информацию о ярлыке, такую как имя и иконка.

<resources xmlns:android="http://schemas.android.com/apk/res/android">
 <shortcut android:enabled="true"
 android:icon="@mipmap/ic_launcher"
 android:shortcutId="config_shortcut"
 android:title="@string/app_name"/>
</resources>

Реализация ShortcutReceiver

Для обработки интента, связанного с созданием ярлыка на рабочем столе, необходимо реализовать класс ShortcutReceiver. Этот класс должен расширять BroadcastReceiver и переопределить метод onReceive.

package com.example.myapp;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class ShortcutReceiver extends BroadcastReceiver {
 @Override
 public void onReceive(Context context, Intent intent) {
 if (intent.getAction().equals("com.android.launcher.action.INSTALL_SHORTCUT")) {
 // Логика для создания ярлыка на рабочем столе
 }
 }
}

Логика для создания ярлыка

В методе onReceive необходимо реализовать логику для создания ярлыка. Для этого используется класс ShortcutIconResource.

import android.content.pm.ShortcutInfo;
import android.graphics.BitmapFactory;
public class ShortcutReceiver extends BroadcastReceiver {
 @Override
 public void onReceive(Context context, Intent intent) {
 if (intent.getAction().equals("com.android.launcher.action.INSTALL_SHORTCUT")) {
 String name = intent.getStringExtra(Intent.EXTRA_SHORTCUT_NAME);
 Parcelable iconResource = intent.getParcelableExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE);
 ShortcutInfo shortcutInfo = new ShortcutInfo.Builder(context, "id")
 .setShortLabel(name)
 .setIcon(Icon.createWithBitmap(BitmapFactory.decodeResource(context.getResources(), R.mipmap.ic_launcher)))
 .build();
 // Создание ярлыка
 }
 }
}

Заключение

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