# অ্যান্ড্রয়েড অ্যাপ আইকন পরিবর্তন করুন

নোটিফিকেশন সেন্টারে নোটিফিকেশনের সংখ্যার উপর ভিত্তি করে অ্যাপ্লিকেশন আইকন পরিবর্তন করতে, নীচের পদক্ষেপগুলি অনুসরণ করুন।

1.  আপনার প্রজেক্টের 'mipmap' ফোল্ডারে একটি নতুন আইকন যোগ করুন।

<img src="/android-notification-customisation-change-android-app-icon-1.webp" alt="অ্যান্ড্রয়েড স্টুডিওতে একটি নতুন আইকন ফাইলসহ mipmap ফোল্ডারের গঠন দেখানো স্ক্রিনশট"/>

2. একটি নতুন Activity ক্লাস তৈরি করুন।

```java
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivityAlias extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    }
}
```

3. **আইকন পরিবর্তনের লজিকসহ একটি ক্লাস তৈরি করুন।**

```java
import android.content.ComponentName;
import android.content.Context;
import android.content.pm.PackageManager;

public class MyPushReceiver  {

    public static void changeAppIcon(Context context, int count) {
        PackageManager pm = context.getPackageManager();
        if (count > 0) {
            pm.setComponentEnabledSetting(
                    new ComponentName(context, "com.example.app.MainActivityAlias"),
                    PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
                    PackageManager.DONT_KILL_APP
            );
            pm.setComponentEnabledSetting(
                    new ComponentName(context, "com.example.app.MainActivity"),
                    PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
                    PackageManager.DONT_KILL_APP
            );
        } else {
            pm.setComponentEnabledSetting(
                    new ComponentName(context, "com.example.app.MainActivity"),
                    PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
                    PackageManager.DONT_KILL_APP
            );
            pm.setComponentEnabledSetting(
                    new ComponentName(context, "com.example.app.MainActivityAlias"),
                    PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
                    PackageManager.DONT_KILL_APP
            );
        }
    }
}
```

4. **আপনার NotificationServiceExtension ক্লাসে, পুশ নোটিফিকেশন গ্রহণ/মুছে ফেলার জন্য ট্র্যাকিং প্রয়োগ করুন।**

```java
@Override
public boolean onMessageReceived(final PushMessage message) {
	super.onMessageReceived(message);

	if (!message.isSilent()) {
		/**
		 * এই উদাহরণে, কেবল একটি র‍্যান্ডম নোটিফিকেশন সংখ্যা নির্দেশ করা হয়েছে।
		 * আপনাকে নিজে নোটিফিকেশন গণনার লজিক প্রয়োগ করতে হবে।
		 */
		int notificationCount = 1;

		if (getApplicationContext() != null) {
			MyPushReceiver.changeAppIcon(getApplicationContext(), notificationCount);
		}
	}
}

/**
* নোটিফিকেশন সেন্টার থেকে পুশ নোটিফিকেশন অপসারণ ট্র্যাক করার জন্য Pushwoosh কলব্যাক।
*/
@Override
protected void onMessageCanceled(PushMessage message) {
	super.onMessageCanceled(message);

	if (!message.isSilent()) {
		/**
		* এই উদাহরণে, কেবল একটি র‍্যান্ডম নোটিফিকেশন সংখ্যা নির্দেশ করা হয়েছে।
		* আপনাকে নিজে নোটিফিকেশন গণনার লজিক প্রয়োগ করতে হবে।
		*/
		int notificationCount = 0;

		if (getApplicationContext() != null) {
			MyPushReceiver.changeAppIcon(getApplicationContext(), notificationCount);
		}
	}
}
```

5. **সম্পন্ন!**

### ডিভাইসে এটি কেমন দেখায় তার উদাহরণ

<video src="/android-notification-customisation-change-android-app-icon-2.webm" title="নোটিফিকেশন গ্রহণ বা অপসারণ করার সময় অ্যাপ আইকন কীভাবে পরিবর্তন হয় তার একটি অ্যানিমেটেড প্রদর্শন" autoplay loop muted playsinline />