Sobes.tech
Junior

Чӣ тавр эълон дар Android эҷод кардан мумкин аст?

sobes.tech AI

Ҷавоб аз AI

Барои эҷоди огоҳӣ дар Android бояд қадамҳои зеринро иҷро кунед:

  1. Канали огоҳиро эҷод кунед (барои сатҳи API 26 ва боло).
  2. Огоҳиро бо ёрии NotificationCompat.Builder созед.
  3. Огоҳиро тавассути менеджери огоҳинома нишон диҳед.
// Эҷоди канали огоҳинома (API 26+)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    String channelId = "my_channel_id";
    CharSequence channelName = "My Channel";
    String channelDescription = "Description for My Channel";
    int importance = NotificationManager.IMPORTANCE_DEFAULT;
    NotificationChannel channel = new NotificationChannel(channelId, channelName, importance);
    channel.setDescription(channelDescription);
    // Бақайдгирии канали дар систем
    NotificationManager notificationManager = getSystemService(NotificationManager.class);
    notificationManager.createNotificationChannel(channel);
}

// Эҷоди builder барои огоҳинома
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, "my_channel_id") // Ид канали нишон диҳед
        .setSmallIcon(R.drawable.ic_notification) // Иконаи огоҳинома
        .setContentTitle("Сарлавҳаи огоҳинома") // Сарлавҳа
        .setContentText("Матни огоҳинома") // Матн
        .setPriority(NotificationCompat.PRIORITY_DEFAULT); // Приоритет

// Эҷоди PendingIntent барои амал дар вақти клик дар огоҳинома
// Масалан, кушодани фаъолият
Intent intent = new Intent(this, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); // Флаг барои API S+
builder.setContentIntent(pendingIntent);

// Нишон додани огоҳинома
NotificationManagerCompat notificationManagerCompat = NotificationManagerCompat.from(this);
int notificationId = 1; // ID беназири барои огоҳинома
notificationManagerCompat.notify(notificationId, builder.build());

Компонентҳои асосии огоҳинома:

  • Иконаи хурд: setSmallIcon(), дар сатҳ нишон дода мешавад.
  • Сарлавҳа: setContentTitle(), матни асосии огоҳинома.
  • Матн: setContentText(), матни иловагӣ.
  • Канали огоҳинома (API 26+): Гурӯҳе аз огоҳиномаҳо бо танзимоти умумӣ.
  • PendingIntent: Амали, ки дар вақти клик иҷро мешавад.

Илова бар ин, шумо метавонед тасвири калонро илова кунед (setStyle(new NotificationCompat.BigPictureStyle())), тугмаҳои амалро (addAction()), садо, вибрация ва дигар параметрҳоро танзим кунед.