继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

IntentService的简单应用

慕尼黑的夜晚无繁华
关注TA
已关注
手记 371
粉丝 60
获赞 318

相比于service,IntentService属于轻量级,可自动停止,无需主动销毁,对于一次性任务还是比较方便的选择。

需要关注的点:onHandleIntent(Intent intent),顾名思义,就是接收我们传出来的Intent并根据其指令完成我们要做的任务,这个方法是我们要用来干活的

下面看实例:

[代码]java代码:

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

public class OurIntentService   extends IntentService   {

     

    String TAG =   OurIntentService .class.getSampleName();

    public static final String   ACTION = "our_action";

     

 

    public OurIntentService () {

        super("OurIntentService   ");

    }

 

    @Override

    public void onCreate() {

        super.onCreate();

        Log.d(TAG,   "创建服务");

        create();

    }

 

    @Override

    public int onStartCommand(Intent intent, int flags, int startId) {

    Log.d(TAG, "开启服务");

 

        return super.onStartCommand(intent, flags,   startId);

    }

 

 

    public void onDestroy() {

        super.onDestroy();

        removeCallbackAndMessage();

        Log.d(TAG,   "服务销毁");

    }

 

 

    @Override

    protected void onHandleIntent(Intent intent) {

        Log.d(TAG,   "服务开始");

         

        if (intent != null) {

             

            Log.d(TAG,   "intent.getAction() = " + intent.getAction());

            if (ACTION.equals(intent.getAction())) {

                 

                //开启线程执行耗时任务或执行小于20s的操作

            }

        }

        Log.d(TAG,   "服务结束");

    }

}

 

除onHandleIntent方法外,create及destory等生命周期方法需要我们注意一下,原则上属于创建及资源销毁等方面的工作应该放到这俩方法内完成,让我们要做的任务及资源伴随整个生命周期


原文链接:http://www.apkbus.com/blog-35555-68602.html

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP