永发信息网

Android中如何启用Service,如何停用Service

答案:5  悬赏:80  手机版
解决时间 2021-03-26 19:01
  • 提问者网友:姑娘长的好罪过
  • 2021-03-26 09:59
Android中如何启用Service,如何停用Service
最佳答案
  • 五星知识达人网友:廢物販賣機
  • 2021-03-26 11:08
可以通过在activity中 设置事件 。当事件出发时 利用intent
Intent intent=new Intent(MainActivity.this, ServiceDemo.class);
switch (v.getId())
{ case R.id.startBtn:
startService(intent); 启动
break;
case R.id.stopBtn:
stopService(intent); 停用
break;
default:
break;
全部回答
  • 1楼网友:千杯敬自由
  • 2021-03-26 15:17
要确保老师有这方面的开发经验,不是自学的老师给学生上课的,确保有线上的真实应用,这个很重要,华夏博大的3G学院反映挺好的可以就了业之后再付钱的!
  • 2楼网友:封刀令
  • 2021-03-26 14:01
Intent i = new Intent(getApplicationContext(),Server.class);
startServer(i);
Intent i = new Intent(getApplicationContext(),Server.class);
stopServer(i);
Server 为服务类。。。
  • 3楼网友:平生事
  • 2021-03-26 13:38
• Context.startService()
• Context.bindService()

1. 在同一个应用任何地方调用 startService() 方法就能启动 Service 了,然后系统会回调 Service 类的
onCreate() 以及 onStart() 方法。这样启动的 Service 会一直运行在后台,直到
Context.stopService() 或者 selfStop() 方法被调用。另外如果一个 Service 已经被启动,其他代码再试图调用
startService() 方法,是不会执行 onCreate() 的,但会重新执行一次 onStart() 。

2. 另外一种 bindService() 方法的意思是,把这个 Service 和调用 Service
的客户类绑起来,如果调用这个客户类被销毁,Service 也会被销毁。用这个方法的一个好处是,bindService() 方法执行后
Service 会回调上边提到的 onBind() 方发,你可以从这里返回一个实现了 IBind
接口的类,在客户端操作这个类就能和这个服务通信了,比如得到 Service 运行的状态或其他操作。如果 Service
还没有运行,使用这个方法启动 Service 就会 onCreate() 方法而不会调用 onStart()。

总结:
1.
startService()的目的是回调onStart()方法,onCreate()
方法是在Service不存在的时候调用的,如果Service存在(例如之前调用了bindService,那么Service的onCreate方法
已经调用了)那么startService()将跳过onCreate() 方法。

2.
bindService()目的是回调onBind()方法,它的作用是在Service和调用者之间建立一个桥梁,并不负责更多的工作(例如一个
Service需要连接服务器的操作),一般使用bindService来绑定到一个现有的Service(即通过StartService启动的服
务)。
由于Service 的onStart()方法只有在startService()启动Service的情况下才调用,故使用onStart()的时候要注意这点。
  • 4楼网友:我住北渡口
  • 2021-03-26 12:03
启用service有两种方式:
Start方式,bound方式
停用service也有两种方式:
Start方式:继承service类,继承intentservice
bind方式:继承binder类,message AIDL
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯