Android 在特定时间使用 AlarmManager 启动服务并且设备启动完成
Posted
技术标签:
【中文标题】Android 在特定时间使用 AlarmManager 启动服务并且设备启动完成【英文标题】:Android Start service at specific time using AlarmManager and also device boot complete 【发布时间】:2016-06-27 10:08:59 【问题描述】:我不会在每天的特定时间启动服务,也会在设备启动完成时启动。
例如.. 每天下午 13 点,服务启动并显示 Toast(“服务启动”)。
不仅如此,服务还必须在启动完成时启动,但如果你不是下午 13 点,则不应显示 toast,但必须启动
【问题讨论】:
检查这个 - developer.android.com/reference/android/app/… 【参考方案1】:为启动完成定义 ACTION_BOOT_COMPLETED 的接收器 Start service at boot complete
对于特定时间,使用 AlarmManager Start Service At Specific Time
【讨论】:
【参考方案2】: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 因为它是系统广播的,自动启动目标 应用程序(如果它尚未运行)。
【讨论】:
【参考方案3】:检查这个链接,它会帮助你How to repeat notification daily on specific time in android through background service
【讨论】:
以上是关于Android 在特定时间使用 AlarmManager 启动服务并且设备启动完成的主要内容,如果未能解决你的问题,请参考以下文章
使用 android 意图在特定时间打开 youtube 视频