नोटिफिकेशन के लिए स्मॉल आइकन सेट करना
setSmallIcon() अनिवार्य है - इसके बिना नोटिफिकेशन नहीं दिखेगा। आइकन सफेद/पारदर्शी वेक्टर (अल्फा चैनल) होना चाहिए।
चरण 1-2: प्रोजेक्ट और लेआउट
चरण 3: MainActivity.java
package app.tutorialspoint.com.notifyme;
import android.app.NotificationManager;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.NotificationCompat;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
private static final String DEFAULT_CHANNEL_ID = "default";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnCreateNotification = findViewById(R.id.btnCreateNotification);
btnCreateNotification.setOnClickListener(v -> {
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, DEFAULT_CHANNEL_ID)
.setSmallIcon(R.drawable.ic_launcher_foreground) // अनिवार्य!
.setContentTitle("आइकन टेस्ट")
.setContentText("स्मॉल आइकन सेट किया गया")
.setAutoCancel(true);
NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
manager.notify(1, builder.build()); // फिक्स्ड ID = अपडेट होगा
});
}
}
चरण 4: AndroidManifest.xml
नोटिफिकेशन आइकन दिशानिर्देश
स्मॉल आइकन (setSmallIcon) - अनिवार्य
- साइज: 24x24 dp (MDPI बेसलाइन)
- फॉर्मेट: PNG या VectorDrawable (API 21+)
- रंग: केवल सफेद + पारदर्शिता (अल्फा मास्क के रूप में काम करता है)
- स्थिति: स्टेटस बार, नोटिफिकेशन शेड, लॉक स्क्रीन
लार्ज आइकन (setLargeIcon) - वैकल्पिक
- साइज: 64x64 dp (प्रोफाइल फोटो, ऐप लोगो के लिए)
.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.large_icon))- सर्कुलर क्रॉप होता है (Android 12+)
आइकन जनरेट करना
- Android Studio:
New → Vector Asset → Clip Artचुनें - Material Icons से सिंपल आइकन चुनें
- रंग सफेद (#FFFFFF) सेट करें
res/drawable/ic_notification.xmlके रूप में सेव करें
एडेप्टिव आइकन (Android 8.0+)
लॉन्चर आइकन के लिए mipmap-anydpi-v26/ic_launcher.xml में फोरग्राउंड/बैकग्राउंड लेयर डिफाइन करें। नोटिफिकेशन स्मॉल आइकन के लिए अलग वेक्टर ड्रॉएबल उपयोग करें।
सामान्य गलतियाँ
- रंगीन/जटिल आइकन उपयोग करना - सफेद सिल्हूट ही दिखेगा
- बहुत बड़ा आइकन - स्टेटस बार में कट जाएगा
- setSmallIcon न भूलें - क्रैश नहीं होगा लेकिन नोटिफिकेशन नहीं दिखेगा