开启服务的方式:(2)绑定式开启服务
来源:互联网 发布:铜陵网络买花花店 编辑:程序博客网 时间:2024/05/22 06:45
public class MainActivity extends Activity implements OnClickListener { private Button button1, button2, button3; private Intent service; private MyIBinder service1; private ServiceConnection conn = new ServiceConnection() { public void onServiceDisconnected(ComponentName name) { Log.i("myTag", "与service没有连接成功--->onServiceDisconnected"); } public void onServiceConnected(ComponentName name, IBinder service) { MainActivity.this.service1 = (MyIBinder) service; Log.i("myTag", "与service连接成功--->onServiceConnected"); Log.i("myTag", "service.toString()---->" + service.toString()); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button1 = (Button) findViewById(R.id.button1); button2 = (Button) findViewById(R.id.button2); button3 = (Button) findViewById(R.id.button3); button1.setOnClickListener(this); button2.setOnClickListener(this); button3.setOnClickListener(this); } public void onClick(View v) { switch (v.getId()) { case R.id.button1: service = new Intent(MainActivity.this, MyBindService.class); /** * 参数一:该参数通过intent指定要启动的service * * 参数二:是一个ServiceConnection对象,用于监听访问者与service之间的连接情况 * ,如果连接成功调用onServiceConnected(ComponentName name, IBinder * service)方法, 如果连接不成功调用onServiceDisconnected(ComponentName name)方法 * * 参数三:指定绑定是是否自动创建service * (如果service还未创建),该参数可以指定为0(不自动创建),或者BIND_AUTO_CREATE(自动创建) * */ bindService(service, conn, BIND_AUTO_CREATE); break; case R.id.button2: unbindService(conn); break; case R.id.button3: service1.geiQianBanShi(); break; } }}
public class MyBindService extends Service { private MyIBinder myIBinder = new MyIBinder(); // 绑定服务时调用此方法 public IBinder onBind(Intent intent) { Log.i("myTag", "bind serviec--->onBind"); Log.i("myTag", "myIBinder.tostring--->" + myIBinder.toString()); return myIBinder; } // 解绑服务时调用此方法 public boolean onUnbind(Intent intent) { Log.i("myTag", "bind serviec--->onUnbind"); return super.onUnbind(intent); } public void onCreate() { Log.i("myTag", "bind serviec--->onCreate"); super.onCreate(); } public int onStartCommand(Intent intent, int flags, int startId) { Log.i("myTag", "bind serviec--->onStartCommand"); return super.onStartCommand(intent, flags, startId); } public void onDestroy() { Log.i("myTag", "bind serviec--->onDestroy"); super.onDestroy(); } /** * 服务的方法 * * */ public void banShi(int money) { if (money < 1000) { Log.i("myTag", "--->钱不够"); } else { Log.i("myTag", "--->事情办好了"); } } /** * 创建一类,实现了IBinder接口,将数据返回给activity * */ class MyIBinder extends Binder { public void geiQianBanShi() { banShi(500); } }}
阅读全文
0 0
- 开启服务的方式:(2)绑定式开启服务
- 服务的开启方式
- 服务的开启方式
- 开启服务的方式:(1)start开启服务
- 开启服务的方式:(3)混合式开启
- 服务开启的2种方式
- 51服务的开启方式
- 混合的方式开启服务
- start方式开启服务
- onBind方式开启服务
- 使用绑定式服务播放音乐
- 混合方式开启服务的特点
- 安卓服务——bind service一个绑定式的服务
- 服务的生命周期-采用start的方式开启服务
- 系统开启的服务
- telnet 服务的开启
- 服务的开启,停止。
- php服务的开启
- 直播技术点整理-链接
- 1
- scrapy框架半自动处理验证码豆瓣网模拟登陆
- [Hackerrank题目选做] Team Formation 贪心
- 理解 指针数组 数组指针 函数指针 函数指针数组 指向函数指针数组的指针
- 开启服务的方式:(2)绑定式开启服务
- JAVA switch 支持string 表达式的原理
- RedHat7 Apache支持PHP配置文件的方法
- Windows 下Eclipse运行HBase程序
- memcache 分布式,算法实现
- 循环规律
- 链表排序(归并法)
- 说一说solr在tomcat,jetty上的运行和安装优缺点
- Android Studio配置Kotlin