BroadcastReceiver 没有被 AlarmManager 触发

BroadcastReceiver is not being fired by AlarmManager

下面是我的代码,有什么问题吗?如果我查看日志,则没有 AlarmReceiver class 的启动。所以没有通知发送给用户。我每分钟都在循环尝试,但仍然没有任何反应。我究竟做错了什么?

提前致谢!!

public void setRepeatingAlarm(int hour, int min)
{
    Intent myIntent = new Intent(this , AlarmReceiver.class);
    AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
    PendingIntent pendingIntent = PendingIntent.getService(this, 0, myIntent, 0);
    Calendar calendar = Calendar.getInstance();
    calendar.set(Calendar.HOUR_OF_DAY, hour);
    calendar.set(Calendar.MINUTE, min);
    calendar.set(Calendar.SECOND, 0);
    alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 24 * 60 * 60 * 1000, pendingIntent);
}

//接收器Class 报警接收器

public void onReceive(Context context, Intent intent)
{

    taskDb = new TaskDb(context);

    PendingIntent pIntent = PendingIntent.getActivity(context, 0, intent, 0);

    String temp ="";
    for(String s: taskDb.selectTodayTasks())
    {
        temp +="-" + s + "\n";
    }

    if(!temp.equals("")) {
        Notification n = new Notification.Builder(context)
                .setContentTitle(context.getString(R.string.today_tasks))
                .setContentText(temp)
                .setLights(Color.CYAN,500,500)
                .setContentIntent(pIntent)
                .setPriority(Notification.PRIORITY_MAX)
                .setAutoCancel(true).build();

        NotificationManager notificationManager =
                (NotificationManager) context.getSystemService(MainActivity.NOTIFICATION_SERVICE);

        notificationManager.notify(0, n);
    }

}

//android 清单

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >

    <activity
        android:name=".main.MainActivity"
        android:windowSoftInputMode="stateHidden"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <receiver android:name=".background.AlarmReceiver"  android:enabled="true">
    </receiver>
</application>

PendingIntent.getService更改为PendingIntent.getBroadcast:

PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, myIntent, 0);

因为 PendingIntent.getService is used to Retrieve a PendingIntent that will start a service,... but PendingIntent.getBroadcast 对于 Retrieve a PendingIntent that will perform a broadcast,...