码迷,mamicode.com
首页 > 移动开发 > 详细

关于Android中的PollingService定时轮询任务的讲解

时间:2016-08-06 21:52:30      阅读:893      评论:0      收藏:0      [点我收藏+]

标签:

1.创建PollingThread类,在log打印出“New message!”


class PollingThread extends Thread {
        @Override
        public void run() {
            Log.i("zzf", "Polling...");
        }
    }

 

2.创建PollingReceiver,用于接收Service传递信息并重新执行PollingService


public class PollingReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub
        Log.i("zzf", "Receive!");
        Intent i = new Intent(context, PollingService.class);
        context.startService(i);
    }

}

 

 

3.创建PollingService定时轮询任务对象


public class PollingService extends Service {

    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

    @Override
    public void onCreate() {
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        // TODO Auto-generated method stub
        //创建PollingThread子线程,用于执行任务
        new PollingThread().start();
        // 获取AlarmManager系统服务
        AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
        // 包装需要执行Service的Intent
        Intent i = new Intent(this, PollingReceiver.class);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, i, 0);
        int anSeconds = 5 * 1000; // 5秒
        //  触发时间
        long triggerAtTime = SystemClock.elapsedRealtime() + anSeconds;
        manager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerAtTime, pendingIntent);
        return super.onStartCommand(i, flags, startId);
    }        

 

4.在MainActivity中启动PollingService


     Log.i("zzf","Start polling service...");
        Intent intent = new Intent(this, PollingService.class);
        startService(intent);

 

关于Android中的PollingService定时轮询任务的讲解

标签:

原文地址:http://www.cnblogs.com/Jeff-blogs/p/5744919.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!