Android:Service服务

Service

Service是Android的四大组件之一
(Activity Service BroadCastReceiver ContentProvider),
负责完成没有UI情况下的工作.

Service和Activity有些类似 都在application的主线程中运行
区别在于service不依赖于ui 即使退出当前的ui界面 服务也可以继续运行.

Service != Thread

服务和线程不一样,虽然它们看起来很相似.
服务的生命周期从activity内startService开始 直到stopService结束.
Thread的生命周期则从Thread.start开始 stop结束

服务可以和活动绑定 使得活动可以指定服务的动作

使用服务

把服务当成活动的补充 服务在活动显示/不显示的时候都能工作
在活动不显示的时候 和用户交互

服务需要在AndroidMainfest.xml中声明
<service
            android:name=".Myservice"
            android:enabled="true"
            android:exported="true"></service>

服务对象应该派生自Service类
public class Myservice extends Service{
    @Override
    public void onCreate() {
        super.onCreate();
        Log.d("sliver", "service create");
        new Thread(new Runnable() {
            @Override
            public void run() {
                for (;;) {
                    Log.d("sliver", "doing some thing");
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        }).start();
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        Log.d("sliver", "service destroy");
    }

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

activity中启动服务
 Intent intent = new Intent(this, Myservice.class);
 startService(intent);
销毁服务
 Intent intent1 = new Intent(this, Myservice.class);
 stopService(intent1);                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值