需要根据星期几和时间让事情在后台发生

Need To Make Things Happen In Background Based On Day Of Week And Time

我不知道从哪里开始,但我已经为我的应用程序制作了 GUI,需要根据我存储在基于星期几和时间的 SharedPreferences 中的变量来实现,我只想知道一些可以根据日期和时间在后台进行操作的最佳方法,谢谢。

  1. 为了运行后台的东西,你需要一个Service

    public class MyService extends Service {
    
        @Override
        public int onStartCommand(final Intent intent, final int flags,
                          final int startId) {
            // parse the intent and run your things
            return START_NOT_STICKY;
        }
    }
    
  2. 要在特定时间自动处理事情,您需要AlarmManager

    AlarmManager alarmManager = (AlarmManager)context.getSystemService(Context
            .ALARM_SERVICE);
    Intent alarmIntent = new Intent(context, BlockchainService.class);
    // customize your intent
    PendingIntent pendingIntent = PendingIntent.getService(context, 0,
            alarmIntent, 0);
    alarmManager.set(AlarmManager.RTC_WAKEUP, your_specific_time, pendingIntent);
    
  3. 启动服务并防止休眠

    相关回答AlarmManager not working in sleep mode