首页 > 解决方案 > 通知未在使用广播接收器的服务中触发

问题描述

我正在尝试使用 BroadcastReceiver 触发来自服务的通知,但它没有被触发,我尝试没有广播接收器,它被触发所以我不知道我的广播接收器有什么问题这是我的一段代码:

public class NotificationService extends Service {

    private NotificationManagerCompat compat;
    private int num;
    private BroadcastReceiver broadcastReceiver;
    private IntentFilter intentFilter;
    @Nullable
    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        compat = NotificationManagerCompat.from(this);
        intentFilter = new IntentFilter();
        intentFilter.addAction(NOTIFICATION_SERVICE);
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {

        String hometeam = intent.getStringExtra("hometeam");
        String awayteam = intent.getStringExtra("awayteam");
        String date  = intent.getStringExtra("date");
        String time = intent.getStringExtra("time");

        broadcastReceiver = new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
                if(!time.equals(""))
                {
                    shownotification(date,hometeam,awayteam);
                }

               }

        };
        registerReceiver(broadcastReceiver,intentFilter);
        return START_STICKY;

    }

在深入检查代码后,广播接收器是无法正常工作的,如果我评论广播接收器,通知就会被触发

这部分代码不起作用,我不知道为什么

 broadcastReceiver = new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
                if(!time.equals(""))
                {
                    shownotification(date,hometeam,awayteam);
                }

               }

        };
        registerReceiver(broadcastReceiver,intentFilter);
        return START_STICKY;

标签: androidnotifications

解决方案


推荐阅读