Android学习笔记(五)Activiy学习——Service

创建一个Service

右键--new--service

创建一个service

在MainActiviy中

//启动
findViewById(R.id.btnService).setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        startService(new Intent(MainActivity.this,MyService.class));
    }
});
//停止(服务的实例在操作系统中只有一个)
findViewById(R.id.btnService).setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        stopService(new Intent(MainActivity.this,MyService.class));
    }
});
在service中

//执行startService时会执行
@Override
public int onStartCommand(Intent intent, int flags, int startId) {

    new Thread(){

        @Override
        public void run(){
            super.run();
            System.out.println("服务正在运行");

            while (true){
                try {
                    sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }

            }
        }

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


绑定service(也会创建)


bindService(new Intent(MainActivity.this, MyService.class), this, Context.BIND_AUTO_CREATE);


在service文件中设置

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

解绑service(destroy)

unbindService(this);

activity与service的通信

启动service并通信

在startService中添加

Intent i = new Intent(this,MyService.class);
i.putExtra("data","from activity");

然后在service的启动代码中获取

intent.getStringExtra("data");


绑定service并通信











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值