Android 应用程序未运行时未触发警报

Android 应用程序未运行时未触发警报,android,broadcastreceiver,alarm,Android,Broadcastreceiver,Alarm,我正在设置每日闹钟。如果应用程序在报警时间运行,则此功能有效;如果应用程序未运行,则此功能不起作用。 以下是我在清单中声明接收人的方式: <receiver android:name="com.myAppPackage.alarm.AlarmReceiver" android:enabled="true" android:exported="true"/> 警报通过以下方法配置(在本例中,配置为在13:48时触发每日不精确): 欢迎任何帮助!谢谢 新

我正在设置每日闹钟。如果应用程序在报警时间运行,则此功能有效;如果应用程序未运行,则此功能不起作用。 以下是我在清单中声明接收人的方式:

<receiver android:name="com.myAppPackage.alarm.AlarmReceiver"
        android:enabled="true"
        android:exported="true"/>
警报通过以下方法配置(在本例中,配置为在13:48时触发每日不精确):

欢迎任何帮助!谢谢

新闻:越来越近。。。如果我复制MainActivity onCreate()方法中的报警设置代码,它会工作!这是我复制的代码:

    AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);

    Intent alarmIntent = new Intent(this, AlarmReceiver.class);

    PendingIntent alarmPendingIntent = PendingIntent.getBroadcast(this, 0, alarmIntent, 0);

    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(System.currentTimeMillis());

    final int hourOfDay = 13;
    final int minuteOfHour = 48;

    calendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
    calendar.set(Calendar.MINUTE, minuteOfHour);

    alarmManager.setInexactRepeating(
            AlarmManager.RTC_WAKEUP,
            calendar.getTimeInMillis(),
            AlarmManager.INTERVAL_DAY,
            alarmPendingIntent);
当报警如上所述在MainActivity的onCreate()中创建时,即使应用程序关闭,它也会触发。。。 但是当我从main活动调用方法时,如下所示:

MyAppAccount.configureDailySync(this);
它不起作用! MyAppAccount是一个普通类,不扩展任何内容。。。我已经尝试让我的AppAccount扩展AppCompatActivity,以防它有什么影响,但没有什么。。。
哦,好吧。。。似乎上述在MainActivity的onCreate()方法中执行报警设置的尝试并不总是有效。。。最令人费解的是什么!!!:-(

已解决:与编码无关!!问题在于我关闭应用程序的方式。当使用Android Studio的停止按钮关闭应用程序时,不会设置警报。当从手机关闭应用程序时,例如使用后退按钮和/或从应用程序列表中删除应用程序(使用方形按钮),则报警器工作


为什么?不知道…

您尝试过将configureDailySync()放入应用程序类时会发生什么吗?5小时搜索。THX MAN
    AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);

    Intent alarmIntent = new Intent(this, AlarmReceiver.class);

    PendingIntent alarmPendingIntent = PendingIntent.getBroadcast(this, 0, alarmIntent, 0);

    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(System.currentTimeMillis());

    final int hourOfDay = 13;
    final int minuteOfHour = 48;

    calendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
    calendar.set(Calendar.MINUTE, minuteOfHour);

    alarmManager.setInexactRepeating(
            AlarmManager.RTC_WAKEUP,
            calendar.getTimeInMillis(),
            AlarmManager.INTERVAL_DAY,
            alarmPendingIntent);
MyAppAccount.configureDailySync(this);