使用AlarmManager进行定时任务处理

系统 1957 0

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"
      
      
        />
      
    

 

使用AlarmManager进行定时任务处理


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论