Service入门(二)——bindService、unbindService
来源:互联网 发布:社区圈子源码 编辑:程序博客网 时间:2024/06/06 02:47
MainActivity.class文件:
package com.example.guocong.service;import android.content.ComponentName;import android.content.Context;import android.content.Intent;import android.content.ServiceConnection;import android.os.Bundle;import android.os.IBinder;import android.support.v7.app.AppCompatActivity;import android.view.View;public class MainActivity extends AppCompatActivity implements View.OnClickListener, ServiceConnection { private Intent intent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //初始化intent intent=new Intent(MainActivity.this,MyService.class); //监听器的另一种实现方法:**implements实现接口** findViewById(R.id.btnStartService).setOnClickListener(this); findViewById(R.id.btnStopService).setOnClickListener(this); findViewById(R.id.btnBindService).setOnClickListener(this); findViewById(R.id.btnUnbindService).setOnClickListener(this); } //监听器接口的实现方法 @Override public void onClick(View v) { //使用switch语句,判断getId()方法得到id switch(v.getId()){ case R.id.btnStartService: startService(intent); break; case R.id.btnStopService: stopService(intent); break; case R.id.btnBindService: bindService(intent,this, Context.BIND_AUTO_CREATE); break; case R.id.btnUnbindService: break; } } //服务绑定成功时执行 @Override public void onServiceConnected(ComponentName name, IBinder service) { System.out.println("Service Connected"); } //程序销毁时执行 @Override public void onServiceDisconnected(ComponentName name) { }}
MyService文件:
package com.example.guocong.service;import android.app.Service;import android.content.Intent;import android.os.Binder;import android.os.IBinder;public class MyService extends Service { public MyService() { } @Override public IBinder onBind(Intent intent) { // TODO: Return the communication channel to the service. //返回new Binder(),不然会闪退 return new Binder(); } //执行onStartService时执行onStartService @Override public int onStartCommand(Intent intent, int flags, int startId) { new Thread() { //重写run()方法 @Override public void run() { super.run(); while(true) { System.out.println("服务正在运行"); //为sleep添加try..catch语句 try { sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }.start(); return super.onStartCommand(intent, flags, startId); }}
activity.xml文件:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.guocong.service.MainActivity" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" /> <Button android:text="启动Service服务" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/btnStartService" /> <Button android:text="停止Service服务" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/btnStopService" /> <Button android:text="绑定Service服务" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/btnBindService" /> <Button android:text="解除绑定Service服务" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/btnUnbindService" /></LinearLayout>
1 0
- Service入门(二)——bindService、unbindService
- Activity组件之一Service--- BindService & unBindService
- Android基础笔记(十六)- Service:startService()、stopService()、bindService()、unbindService()补充
- Android基础笔记(十六)- Service:startService()、stopService()、bindService()、unbindService()补充
- Android基础笔记(十六)- Service:startService()、stopService()、bindService()、unbindService()补充
- service使用以及startService,stopService,bindService,unbindService方法比较
- service使用以及startService,stopService,bindService,unbindService方法比较
- service使用以及startService,stopService,bindService,unbindService方法比较
- StartActivity的流程 Activity组件之一Service--- BindService & unBindService
- Service中的bindService,unbindService的使用及使用示例
- service使用以及startService,stopService,bindService,unbindService方法比较
- Service组件(startService,stopService,bindService,unbindService方法比较)-Android
- Service中的bindService、unbindService的使用及使用示例
- android Service(二) activity启动Service方式二:bindService()
- 关于通过bindService启动的service,在unbindService后service是否继续运行的讨论
- 关于通过bindService启动的service,在unbindService后service是否继续运行的讨论
- 先startService,通过bindService启动的service,在unbindService后service还会运行
- Android Service 服务(三)—— bindService与remoteService
- Address already in use: JVM_Bind错误的解决
- RollNum ,滚动数字
- IMF spark 正则表达式 统计apache log 日志
- 你可能漏掉的知识点: onResumeFragments
- 恢复系统强制卸载MSDE
- Service入门(二)——bindService、unbindService
- node之第一个hello world
- C#时间类型 DateTime? 赋空值
- 异常的捕捉和抛出
- 字符串转化为整数
- web文件上传,webapi后台接收
- 简单webservice服务创建并调用
- MyBatis/Ibatis中#和$的区别
- VMware虚拟机中,RHEL系统下挂载、卸载新硬盘的方法