Android学习——四大组件之Service

来源:互联网 发布:离心泵设计软件 编辑:程序博客网 时间:2024/06/06 00:07

启动Service有两种方式:一种是通过startService(Intent service)方法,另一种是通过bindService(Intent service,ServiceConnection con,int flags) 方法。

  • startService

    Intent service = new Intent(MainActivity.this,MyService.class);startService(intent);//调用此方法停止Service//stopService(intent);
  • bindService

package com.example.myapplication;import android.app.Service;import android.content.ComponentName;import android.content.Intent;import android.content.ServiceConnection;import android.os.IBinder;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;public class MainActivity extends AppCompatActivity {    private Intent bindIntent = null;    private Intent startIntent = null;    private MyBindService bindService = null;    private MyServiceConnection con = new MyServiceConnection();    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }    public void myListener(View view){        switch (view.getId()){            case R.id.btn_start:                startIntent = new Intent(MainActivity.this,MyStartService.class);                startIntent.putExtra("msg", "服务启动了");                startService(startIntent);                break;            case R.id.btn_stop:                stopService(startIntent);                break;            case R.id.btn_bind:                bindIntent = new Intent(MainActivity.this,MyBindService.class);                bindService(bindIntent,con, Service.BIND_AUTO_CREATE);                break;            case R.id.btn_unBind:                unbindService(con);                break;        }    }    private class MyServiceConnection implements ServiceConnection{        @Override        public void onServiceConnected(ComponentName name, IBinder service) {            bindService = ((MyBindService.MyBinder)service).getService();        }        @Override        public void onServiceDisconnected(ComponentName name) {        }    }}
0 0
原创粉丝点击