• 绑定本地Service并与之通信-----之二


        

    import android.os.Bundle;
    import android.os.IBinder;
    import android.app.Activity;
    import android.app.Service;
    import android.content.ComponentName;
    import android.content.Intent;
    import android.content.ServiceConnection;
    import android.view.Menu;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.Toast;

    public class ServiceBindActivity extends Activity {
      Button bind;
      Button unbind;
      Button getServiceStatus;
      //保持所启动的Service的IBinder对象
      BindService.MyBinder binder;
      //定义一个ServiceConnection对象
      private ServiceConnection conn = new ServiceConnection() {

        //当该Activity与Service断开连接时回调该方法
        @Override
        public void onServiceDisconnected(ComponentName name) {
          System.out.println("--Service Disconnected--");

        }

        //当该Activity与Service连接成功时回调该方法
        @Override
        public void onServiceConnected(ComponentName name, IBinder service) {
          System.out.println("--Service Coonnected");
          //获取Service的onBind方法所返回的MyBinder
          binder = (BindService.MyBinder)service;
        }
      };

      @Override
      protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_service_bind);
        //获取程序界面中的start、stop、getServiceStatus按钮
        bind = (Button) findViewById(R.id.bind);
        unbind = (Button) findViewById(R.id.unbind);
        getServiceStatus = (Button) findViewById(R.id.getServiceStatus);
        //创建启动Service的Intent
        final Intent intent = new Intent();
        //为Intent设置Action属性
        intent.setAction("mediaprovider.service.BIND_SERVICE");
        bind.setOnClickListener(new OnClickListener() {

          @Override
          public void onClick(View v) {
          // 绑定指定Service
          bindService(intent, conn, Service.BIND_AUTO_CREATE);
        }
      });
      unbind.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
          //解除绑定Service
          unbindService(conn);
        }
      });
      getServiceStatus.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
          // 获取并显示Service的count
          Toast.makeText(ServiceBindActivity.this,
            "Service的count值为:"+binder.getCount(), 4000).show();
        }
      });
    }

    }

  • 相关阅读:
    [Oracle 视图] ALL_OBJECTS
    ERwin DM Reverse Engineer 逆向工程介绍
    【转载】系统间接口设计
    【装载】删除Oracle11G
    oracle创建新用户
    eclipse的垂直选择功能
    【转载】改善数据质量从数据剖析(Data Profiling)开始
    干货丨一组图详解元数据、主数据与参考数据
    [转载] 数据测试常用的Data Profiling方法
    【转载】主数据管理(MDM)与元数据管理
  • 原文地址:https://www.cnblogs.com/jiww/p/5602846.html
Copyright © 2020-2023  润新知