BroadcastReciever 不工作或 AlarmManager 未设置

Posted

技术标签:

【中文标题】BroadcastReciever 不工作或 AlarmManager 未设置【英文标题】:BroadcastReciever not working or AlarmManager not setting 【发布时间】:2020-07-25 04:12:45 【问题描述】:

我正在尝试使用 AlarmManager 设置 BroadcastReceiver,仅出于测试目的让它在 2000 毫秒后触发。但是,什么都没有发生

主类

Intent intent = new Intent(this, test_class.class);
        PendingIntent alarmIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
        Log.d("ALARM_DE","Set for: "+System.currentTimeMillis() + 2000);
        AlarmManager alarmManager =
                (AlarmManager) getSystemService(Context.ALARM_SERVICE);
        alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 2000 ,
                AlarmManager.INTERVAL_DAY, alarmIntent);

接班

public class test_class extends BroadcastReceiver 

    @Override
    public void onReceive(Context context, Intent intent) 
        if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) 
            // Set the alarm here.
        
        Log.d("ALARM_DE","Time: "+System.currentTimeMillis());
    


AndroidManifest.xml

<receiver android:name=".test_class" android:exported="false" >
            <intent-filter>
                <action android:name="NOTIFICATION_SERVICE" />
            </intent-filter>
        </receiver>

【问题讨论】:

是的!刚刚更新,谢谢! 【参考方案1】:

解决了问题!我只是在初始化意图后添加了intent.setAction("NOTIFICATION");,它通过了!任何字符串都应该完成这项工作:)

【讨论】:

不,先生,我一直在测试,发现其他人也有同样的错误。我不可能错过日志,因为它们有一个独特的标签。这是 100% 的问题 我不明白;此更改为我修复了它。我删除了它但它不起作用,我还用通知和日志进行了测试,它只适用于这一行。还有什么可能是问题? 我在我的物理设备和模拟器上都试过了,似乎都有同样的问题。不用担心! 刚刚在日志之后添加了一个toast,它显示了!试图弄清楚如何现在发送通知本身:/ 太棒了!它完美地工作我感谢推荐!

以上是关于BroadcastReciever 不工作或 AlarmManager 未设置的主要内容,如果未能解决你的问题,请参考以下文章

使用BroadcastReciever传递Intent.EXTRAS

JNB, JBE, JGE, JLE指令

如何在不使用移动网络的情况下向自己发送假短信?

AX、AH、AL 如何映射到 EAX?

广播接收器是不是依赖binder或intent,Android

AL_深度学习概论