1小时后Android执行功能

ik024

我有一个Android应用程序,当他/她激活应用程序时,我会将用户的数据存储在数据库中。我的应用程序要求用户手动停止该应用程序,以便从数据库中删除其条目,并与其他在启动该应用程序时仍在运行的服务一起删除。

所以我想编写一个函数,该函数将在每小时(激活应用程序时)执行一次,并且会向用户发出通知,只是提醒他/她正在运行的服务。如果用户忘记了停止服务然后他们可以停止它或继续进行服务。

什么是最有效的方法?我不想以1小时的时间消耗过多的电池电量,请检查用户是否认为它可以运行一天左右。请指教。谢谢 :)

斯普多

我建议代码将像这样。

// the scheduler
protected FunctionEveryHour scheduler;


// method to schedule your actions
private void scheduleEveryOneHour(){

        PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, 
                                                                 new Intent(WAKE_UP_AFTER_ONE_HOUR), 
                                                                 PendingIntent.FLAG_UPDATE_CURRENT);

        // wake up time every 1 hour
        Calendar wakeUpTime = Calendar.getInstance();
        wakeUpTime.add(Calendar.SECOND, 60 * 60);

        AlarmManager aMgr = (AlarmManager) getSystemService(ALARM_SERVICE);        
        aMgr.set(AlarmManager.RTC_WAKEUP,  
                 wakeUpTime.getTimeInMillis(),                 
                 pendingIntent);
}

//put this in the creation of service or if service is running long operations put this in onStartCommand

scheduler = new FunctionEveryHour();
registerReceiver(scheduler , new IntentFilter(WAKE_UP_AFTER_ONE_HOUR));

// broadcastreceiver to handle your work
class FunctionEveryHour extends BroadcastReceiver{
        @Override
        public void onReceive(Context context, Intent intent) {
                // if phone is lock use PowerManager to acquire lock

                // your code to handle operations every one hour...

                // after that call again your method to schedule again
                // if you have boolean if the user doesnt want to continue
                // create a Preference or store it and retrieve it here like
                boolean mContinue = getUserPreference(USER_CONTINUE_OR_NOT);//

                if(mContinue){
                        scheduleEveryOneHour();
                } 
        }
}

希望能有所帮助:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

1小时后执行查询

来自分类Dev

1小时后删除临时视图

来自分类Dev

从GMT转换为当前时区后,Android日历的时间会缩短1小时

来自分类Dev

大约1小时后,Android中的移动数据已断开连接

来自分类Dev

Android通知设置为1小时

来自分类Dev

UNCalendarNotificationTrigger-小时后执行

来自分类Dev

Android:执行全局功能时出错

来自分类Dev

1小时后删除localStorage并重新获取数据

来自分类Dev

1小时后如何获取电池状态?

来自分类Dev

时差1小时

来自分类Dev

中断21小时功能31小时DX值

来自分类Dev

夏令时偏移1小时后,重新索引错误

来自分类Dev

500毫秒后执行Javascript执行功能,但在按键时返回

来自分类Dev

仅在鼠标悬停超过1秒时执行功能

来自分类Dev

FragmentManager提交后执行功能

来自分类Dev

如何设置1小时时间窗口,然后在SAS中执行循环

来自分类Dev

异步功能完成后执行功能

来自分类Dev

运行大约1小时后,Spark Streaming作业被杀死

来自分类Dev

在1小时而不是15分钟后锁定Gnome屏幕?

来自分类Dev

带有Ubuntu 14.04的Lenovo X1 Carbon会在3小时后自行挂起

来自分类Dev

如何修复Windows Server 2012重新启动后1小时的时间?

来自分类Dev

运行大约1小时后,Spark Streaming作业被杀死

来自分类Dev

更换时间-1小时

来自分类Dev

1700小时后的黑暗模式

来自分类Dev

MySQL过去24小时的1小时记录

来自分类Dev

在夏令时更改后的1小时内,在EWS中时区UTC创建的定期约会

来自分类Dev

Ubuntu 20.04 在大约 1 小时后冻结

来自分类Dev

在浏览器缩小时执行jquery功能

来自分类Dev

执行 1 个功能后提交按钮从不发布数据