HỎI Không tạo được notification trong BroadcastReceiver?

CuDer

New Member
23/4/20
26
0
1
Viet Nam
Em đang muốn làm hẹn giờ xuất hiện một cái thông báo.Ví dụ đang là 10h thì em cài đồng hồ là 10h01 thì khi đến 10h01 nó sẽ xuất hiện một cái thông báo nhưng mà ở cái class Alarm thì em tạo một cái thông báo thì nó lại bị lỗi mấy chỗ như :this, getSystemService mà khi em tạo ở cái class MainActivity thì vẫn bình thường k lỗi lầm gì.Ai có thể giúp em với ạ.
Java:
package com.example.reminder;

import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Build;

import androidx.core.app.NotificationCompat;

public class Alarm extends BroadcastReceiver {
    public static final  String CHANNEL_1_ID = "channel1";
    public static final  String CHANNEL_2_ID = "channel2";
    @Override
    public void onReceive(Context context, Intent intent) {
        createNotificationChannels();
       createNotification();
    }
    private void createNotification(){
        NotificationCompat.Builder builder = new NotificationCompat.Builder(this, CHANNEL_1_ID)
                .setSmallIcon(R.drawable.ic_launcher_background)
                .setContentTitle("Hello")
                .setContentText("Day la thong bao")
                .setPriority(NotificationCompat.PRIORITY_DEFAULT);
        NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
        notificationManager.notify(0, builder.build());
    }
    private void createNotificationChannels()  {
        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            NotificationChannel channel1 = new NotificationChannel(
                    CHANNEL_1_ID,
                    "Channel 1",
                    NotificationManager.IMPORTANCE_HIGH
            );
            channel1.setDescription("This is channel 1");

            NotificationChannel channel2 = new NotificationChannel(
                    CHANNEL_2_ID,
                    "Channel 2",
                    NotificationManager.IMPORTANCE_LOW
            );
            channel1.setDescription("This is channel 2");


            NotificationManager manager = this.getSystemService(NotificationManager.class);
            manager.createNotificationChannel(channel1);
            manager.createNotificationChannel(channel2);
        }
    }