zoukankan      html  css  js  c++  java
  • 绑定本地Service并与之通信-----之一

    import android.app.Service;
    import android.content.Intent;
    import android.os.Binder;
    import android.os.IBinder;

    public class BindService extends Service{
      private int count;
      private boolean quit;
      //定义onBinder方法所返回的对象
      private MyBinder binder = new MyBinder();
      //通过继承Binder来实现IBinder类
      public class MyBinder extends Binder{
        public int getCount(){
          //获取Service的运行状态:count
          return count;
        }
      }

      //必须实现的方法
      @Override
      public IBinder onBind(Intent intent) {
        System.out.println("Service is Binded");
        //返回IBinder对象
        return binder;
      }

      //Service被创建时回调该方法
      @Override
      public void onCreate() {
        super.onCreate();
        System.out.println("Service is Created");
        //启动一条线程、动态地修改count状态值
        new Thread(){
          public void run() {
            while(!quit){
              try {
                Thread.sleep(1000);
              } catch (InterruptedException e) {
                e.printStackTrace();
              }
              count++;
            }
          }
        }.start();
      }
      //Service被断开连接时回调该方法
      @Override
      public boolean onUnbind(Intent intent) {
        System.out.println("Service is Unbinded");
        return true;
      }

      //Service被关闭之前回调
      @Override
      public void onDestroy() {
        super.onDestroy();
        this.quit = true;
        System.out.println("Service is Destroyed");
      }

    }

  • 相关阅读:
    bus总线
    vue 动态组件、父子组件传参
    echarts
    记录板
    留言板
    如何移除双系统mac中的windows系统
    Kernel,Shell,Bash 的关系
    zju 校队选拔 被虐记
    COGS 2638. 数列操作ψ 线段树
    退役公告【现已复活】
  • 原文地址:https://www.cnblogs.com/jiww/p/5602640.html
Copyright © 2011-2022 走看看