Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当设备使用AlarmManager启动时,如何启动警报?_Android_Android Studio_Alarmmanager - Fatal编程技术网

Android 当设备使用AlarmManager启动时,如何启动警报?

Android 当设备使用AlarmManager启动时,如何启动警报?,android,android-studio,alarmmanager,Android,Android Studio,Alarmmanager,我正在尝试使用AlarmManager计划一个警报,以删除我的应用程序保存在文件夹中的文件,从最旧的文件开始,一次只删除一定数量的文件。我一直在读书,但有一点我感到困惑 设备启动时,启动下的步骤2: 公共类SampleBootReceiver扩展了BroadcastReceiver{ @凌驾 公共void onReceive(上下文、意图){ if(intent.getAction().equals(“android.intent.action.BOOT_COMPLETED”)){ //在这里

我正在尝试使用
AlarmManager
计划一个警报,以删除我的应用程序保存在文件夹中的文件,从最旧的文件开始,一次只删除一定数量的文件。我一直在读书,但有一点我感到困惑

设备启动时,启动下的步骤2:

公共类SampleBootReceiver扩展了BroadcastReceiver{
@凌驾
公共void onReceive(上下文、意图){
if(intent.getAction().equals(“android.intent.action.BOOT_COMPLETED”)){
//在这里设置闹钟。
}
}

}
在您的例子中,扩展了
BroadcastReceiver
SampleBootReceiver
类位于单独的类文件中。只要您的清单中还有intent筛选器,它就会在启动手机时运行
onReceive()
方法中的任何代码,如下所示:

<receiver
        android:name=".SampleBootReceiver"
        android:enabled="true"
        android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
</receiver>

此警报将使另一个
BroadcastReceiver
NewReceiver
,在
hourtStart
minuteToStart
设置为的任何时间开始,每隔15分钟触发一次。只需在您的清单中设置新的接收器

上面写着
//在这里设置闹钟。
是每次启动手机时要运行的代码。那么,你想在那里启动一个警报,定期运行并以设定的间隔执行任务吗?哦,我真的想得太多了。是的,我想在那里启动一个警报,定期运行并按设定的时间间隔执行任务。好的,我会更新一个回答你不会碰巧知道怎么做,是吗?此外,我还被困在我的应用程序中的代码放置位置。我很确定它会在我的舱单上,但是在
@nick friskel下面,非常感谢!对不起,我最近刚刚从脑瘤中恢复过来,我也刚刚开始学习这一切,所以我很困惑。你有没有关于如何在android studio中将所有这些代码放入我的应用程序的截图?哦,谢谢你的回答。:)如果你能把你的项目放到GitHub上,我可以把它拉出来并提交更改,我会评论我所做的一切,以便你能理解!我实际上什么都没有,只是Android Studio提供给你的通用启动代码,我不知道如何使用GitHub,但我已经开始了。如果你想把我们在这个问题上的所有代码都放到你的GitHub项目中,然后推送它,我将对它进行必要的更改:)查看如何将你的项目推送/提交到GitHub,这很简单。
// Make the intent to fire NewReciever
        Intent intent= new Intent(getApplicationContext(), NewReceiver.class);

        // Make PendingIntent to be triggered each time the alarm goes off
        final PendingIntent pIntent = PendingIntent.getBroadcast(this, 0,
                intentDayAlarmStart, 0);

        //setup calendar object for alarm start time
        Calendar cal= Calendar.getInstance();
        cal.setTimeInMillis(System.currentTimeMillis());

        cal.set(Calendar.HOUR_OF_DAY, hourToStart);
        cal.set(Calendar.MINUTE, minuteToStart);
        cal.set(Calendar.SECOND, 0);

        //make the alarm
        AlarmManager morningAlarm = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);

        //(type, starttime, interval, pintent)
        morningAlarm.setInexactRepeating(AlarmManager.RTC_WAKEUP, dailyCalendar.getTimeInMillis(),
                AlarmManager.INTERVAL_FIFTEEN_MINUTES, pIntent);