您的位置:首页 > 其它

安卓学习之路之服务的简单的使用

2015-09-23 22:28 573 查看
1.服务(Service) 是Android中实现程序后台运行的.非常适合用于去执行不需要和用户交互并且要长期运行的任务,

服务的运行不依赖于任何用户界面,

值得注意的是,服务不会主动去开启一个线程,如果没有手动开启线程的话,是默认执行在主线程的.

2.如何创建一个服务首先自定义一个类去继承Service 然后重写onBind()方法,在清单文件中声明

具体的代码如下

public class MyService extends Service {

@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}

/**
* 当服务第一次创建的时候调用的方法
*/
@Override
public void onCreate() {
super.onCreate();
Log.e("on", "oncreate方法");
}

/**
* 每次服务启动的时候都会调用的方法
* @param intent
* @param flags
* @param startId
* @return
*/
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.e("on", "onStartCommand方法");
return super.onStartCommand(intent, flags, startId);
}

/**
* 当服务被销毁的时候调用的方法
*/
@Override
public void onDestroy() {
super.onDestroy();
Log.e("on", "onDestroy方法");
}
在清单代码中声明服务,代码如下:

<application
.....
.....
.....
...

<service android:name=".MyService"/>
</application>


这里的name就是自己的包名加上类名.

最后就是在MainActivity中使用Intent启动和停止服务:

public void onclick(View view) {
switch (view.getId()) {

case R.id.bt_start:
Intent startintent = new Intent(this,MyService.class);
//启动服务
startService(startintent);
break;

case R.id.bt_stop:
Intent stopintent = new Intent(this,MyService.class);
//停止服务
stopService(stopintent);
break;


当启动服务之后,服务会一直在后台运行,直到停止服务,

但是值得注意的是,这里的服务启动以后和MainActivity一毛钱关系都么有了!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: