【发布时间】:2016-06-27 10:08:59
【问题描述】:
我不会在每天的特定时间启动服务,也会在设备启动完成时启动。
例如.. 每天下午 13 点,服务启动并显示 Toast(“服务启动”)。
不仅如此,服务还必须在启动完成时启动,但如果你不是下午 13 点,则不应显示 toast,但必须启动
【问题讨论】:
标签: java android android-studio service android-service
我不会在每天的特定时间启动服务,也会在设备启动完成时启动。
例如.. 每天下午 13 点,服务启动并显示 Toast(“服务启动”)。
不仅如此,服务还必须在启动完成时启动,但如果你不是下午 13 点,则不应显示 toast,但必须启动
【问题讨论】:
标签: java android android-studio service android-service
为启动完成定义 ACTION_BOOT_COMPLETED 的接收器 Start service at boot complete
对于特定时间,使用 AlarmManager Start Service At Specific Time
【讨论】:
public class onBootComplete extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){
//Do your task here
}
}
}
并且在 Manifest 中声明这个..
<receiver
android:name=".onBootComplete"
android:enabled="true"
android:exported="true" >
<intent-filter android:priority="500" >
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
添加此权限:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
对于定时操作,请使用 AlarmManager
此类提供对系统警报服务的访问。这些允许 您可以安排您的应用程序在某个时间点运行 未来。当警报响起时,已注册的 Intent 因为它是系统广播的,自动启动目标 应用程序(如果它尚未运行)。
【讨论】: