BroadcastReciever不起作用或AlarmManager未设置

问题描述 投票:0回答:1

我正在尝试使用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>
android android-intent broadcastreceiver alarmmanager android-pendingintent
1个回答
0
投票

解决了问题!初始化意图后,我简单地添加了intent.setAction("NOTIFICATION");并通过了!任何字符串都可以完成这项工作:)

© www.soinside.com 2019 - 2024. All rights reserved.