android服务
来源:互联网 发布:linux 安装 docker 编辑:程序博客网 时间:2024/05/16 02:05
普通开启
<!--配置服务 --> <service android:name="com.itheima.service.FirstService"> </service> // 点击按钮开启服务 public void click1(View v) { Intent intent = new Intent(this, FirstService.class); // 开启服务 startService(intent); } // 点击按钮停止服务 public void click2(View v) { Intent intent = new Intent(this, FirstService.class); stopService(intent); }
public class FirstService extends Service {
@Overridepublic IBinder onBind(Intent intent) { System.out.println("onBind"); return null;}//当服务第一次被开启的时候调用@Overridepublic void onCreate() {` System.out.println("onCreate"); super.onCreate();}//之后的点击的时候会一直执行此方法@Overridepublic int onStartCommand(Intent intent, int flags, int startId) { System.out.println("onStartCommand"); return super.onStartCommand(intent, flags, startId);}//服务销毁的时候执行@Overridepublic void onDestroy() { System.out.println("onDestroy"); super.onDestroy();}
}
bindService 方式开启服务的特点
(1)当点击按钮第一次开启服务 会执行服务的onCreate方法 和 onBind()方法
(2) 当我第二次点击按钮在调用bindservice 服务没有响应
**(3) 当activity销毁的时候服务也销毁 不求同时生但求同时死
(4)通过bind方式开启服务 服务不能再设置页面里面找到 相当于是一个隐形的服务
(5)bindservice不能多次解绑 多次解绑会报错 多次绑定无响应
// 点击按钮通过 bindservice 方式去开启服务
public void click3(View v) {
Intent intent = new Intent(this,FirstService.class);
//连接到服务FirstService conn = new MyConn(); System.out.println("bind----"+conn); bindService(intent,conn, BIND_AUTO_CREATE);}//点击按钮 取消绑定服务public void click4(View v) { System.out.println("unbind----"+conn); unbindService(conn);}//当activity销毁的时候调用@Overrideprotected void onDestroy() { //当activity销毁的时候 取消绑定服务 unbindService(conn); super.onDestroy();}//用来监听服务的状态private class MyConn implements ServiceConnection{ //连接成功后调用 @Override public void onServiceConnected(ComponentName name, IBinder service) { } //失去连接调用 @Override public void onServiceDisconnected(ComponentName name) { }}
0 0
- android服务
- Android 服务
- android 服务
- Android服务
- Android 服务
- Android 服务
- android服务
- Android-服务
- android 服务
- 服务android
- android 服务
- Android服务
- android服务
- android 服务
- android服务
- android服务
- Android服务
- android 服务
- Netty中ByteBuf对象的创建方式对内存的影响
- Arduino 整型转字符型
- JavaScript中三个常见问题(1)
- window.location.href和window.open的几种用法和区别
- Palindrome Number
- android服务
- 计算机系统中的数据表示
- 在 Python 应用中使用 MongoDB
- SQL Server中收缩、清空和删除数据库文件及日志文件
- 卷积神经网络(CNN)反向传播算法
- ubuntu vivado hardware manager 找不到板子,要安装JTAG驱动
- 使用ViewPager制作欢迎引导页
- Opencv 图像融合(seamlessClone)
- UVALive 7040 Color 容斥,组合数递推,线形逆元,基础数论