我想创建一个(测试)应用程序,它在后台每小时执行一次命令(例如,编辑文件或显示调试消息)。
假设应用程序以系统启动
启动答案 0 :(得分:0)
请使用alarmmanager使用服务功能来实现此目的。
例如:
private void setAlarmManager() {
Intent intent = new Intent(this, AlarmReceiver.class);
PendingIntent sender = PendingIntent.getBroadcast(this, 2, intent, 0);
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
long l = new Date().getTime();
if (l < new Date().getTime()) {
l += 86400000; // start at next 24 hour
}
am.setRepeating(AlarmManager.RTC_WAKEUP, l, 86400000, sender); // 86400000
}
答案 1 :(得分:-1)
在设备启动完成后启动应用程序您必须创建一个扩展Receiver的类。 在清单中声明你的类就像这样
<receiver android:name=".ClassName">
<intent-filter >
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
不要忘记使用许可
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
将以下内容写入Receiver类,onReceive Override方法
Intent intent= new Intent(context, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(myIntent);
如果您想在后台运行某些内容,请使用Services