我想安排服务为每分钟运行,并检查是否我的应用程序仍在运行。 (我想,如果它被关闭重新打开应用程序)。 另外,我还希望这个服务为每分钟运行,如果我的申请被武力任务管理器杀死。 谢谢!
Answer 1:
另外,我还希望这个服务为每分钟运行,如果我的申请被武力任务管理器杀
这是不可能的,因为Android的3.1。 如果用户进入设置和力=停止你的应用程序,没有您的应用程序将再次运行,直到用户手动启动您的组件之一。
如果你的进程被终止其他原因(如普通从Play商店任务的杀手级应用,刷你的任务从近期任务列表后),你的计划与报警AlarmManager
应维持不变,每路西法的建议。
我写安装了孩子的电话上的“家长控制”应用程序。
任何孩子足够聪明,用电话将足够聪明,重新启动他们的设备在安全模式,摆脱你的应用程序中。
Answer 2:
使用AlarmManager
类,它的工作原理,即使你的设备处于睡眠模式。
private static Intent alarmIntent = null;
private static PendingIntent pendingIntent = null;
private static AlarmManager alarmManager = null;
// First Creating an Intent
alarmIntent = new Intent ( context, yourClass.class );
// Create an Pending Intent which will Broadcast the Intent
pendingIntent = PendingIntent.getBroadcast(context, 234324243, alarmIntent, 0 );
// Set the AlarmManager class
alarmManager = ( AlarmManager ) context.getSystemService( ConstantCodes.ALARM_SERVICE );
// Set Repeating time interval
alarmManager.setRepeating( AlarmManager.RTC_WAKEUP, Interval * 1000, Interval * 1000, pendingIntent );
AlarmManager消耗电池电量比的TimerTask或线程较少。 它的工作原理是无痛的AsyncTask。
文章来源: android force kill schedule service every minute