zoukankan      html  css  js  c++  java
  • 使用AlarmManager进行定时任务处理

    1:UploadingService.java

    package com.example.service;
    
    import com.example.broadcast.AlarmReceiver;
    import com.example.utils.DateUtil;
    
    import android.app.Activity;
    import android.app.AlarmManager;
    import android.app.PendingIntent;
    import android.app.Service;
    import android.content.Context;
    import android.content.Intent;
    import android.os.IBinder;
    import android.os.SystemClock;
    
    public class UploadingService extends Service{
    
        @Override
        public IBinder onBind(Intent intent) {
            return null;
        }
        
        @Override
        public int onStartCommand(Intent intent, int flags, int startId) {
            //to-do
            System.out.println("===========:"+DateUtil.getDateByFormat("yyyy-MM-dd HH:mm:ss"));
            
            AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);        
            int seconds = 1000*3;
            long triggerAtTime = SystemClock.elapsedRealtime()+seconds;
            Intent i = new Intent(this, AlarmReceiver.class);
            PendingIntent pi = PendingIntent.getBroadcast(this, 0, i, 0);
            am.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerAtTime, pi);
            
            return super.onStartCommand(intent, flags, startId);
        }
    
        
        public static void openService(Context context){
            Intent intent = new Intent(context, UploadingService.class);
            ((Activity)context).startService(intent);
        }
    }

    2:AlarmReceiver.java

    package com.example.broadcast;
    
    import com.example.service.UploadingService;
    
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    
    public class AlarmReceiver extends BroadcastReceiver{
    
        @Override
        public void onReceive(Context context, Intent intent) {
            Intent i = new Intent(context, UploadingService.class);
            context.startService(i);
        }
    }

    3:MainActivity.java

    UploadingService.openService(MainActivity.this);

    4:AndroidManifest.xml

    <service 
                android:name="com.example.service.UploadingService"/>
            <receiver 
                android:name="com.example.broadcast.AlarmReceiver"/>
  • 相关阅读:
    php 全局变量 2
    PHP 全局变量 1
    巧用sublime
    ini_get和ini_set
    sublime安装sftp
    常用数组函数
    二维数组去重
    判断常量
    system(),exec() ,passthru()
    【收集】Python 微优化
  • 原文地址:https://www.cnblogs.com/yshyee/p/4083534.html
Copyright © 2011-2022 走看看