/**
*
*/
package org.crazyit.service;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
/**
* 配置,创建service也同理,定义一个继承Service的子类,在AndroidMainifet.xml文件配置Service
*/
public class FirstService extends Service {
// 必须实现的方法
// 这个方法很重要,Service就是通过它返回IBinder对象,应用程序可以通过IBinder与Service组件进行通讯
@Override
public IBinder onBind(Intent arg0) {
return null;
}
// Service第一次被创建时回调该方法。骚年:记住是第一创建的时候才回调该方法,不是第二次,第三次。。。
@Override
public void onCreate() {
super.onCreate();
System.out.println("Service第一次创建,回调该方法");
}
// Service被启动时回调该方法
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
System.out.println("Service启动在onStartCommand方法中,回调该方法");
return START_STICKY;
}
// Service被关闭之前回调。
@Override
public void onDestroy() {
super.onDestroy();
System.out.println("Service关闭,回调该方法");
}
}
package org.crazyit.service;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
/**
* 关于安卓service的学习: 码中学习,一日千里
*
*/
// 创建,配置Activity,第一,开发Activity的子类 2,在AndroidMainifest.xml文件配置Activity
// 配置,创建service也同理,定义一个继承Service的子类,在AndroidMainifet.xml文件配置Service
public class MainActivity extends Activity {
Button start, stop;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 获取程序界面中的start、stop两个按钮
start = (Button) findViewById(R.id.start);
stop = (Button) findViewById(R.id.stop);
// 创建启动Service的Intent,我们在Activity之中怎么启动Service呢,嘿嘿,我们通过创建一个Intent:
// 中文也就是意图,所以,我们要创建一个意图,意图设置启动动作是要创建一个service,然后start,就搞定了
final Intent intent = new Intent();
// 为Intent设置Action属性
intent.setAction("org.crazyit.service.FIRST_SERVICE");
start.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// 启动指定Serivce
startService(intent);
}
});
stop.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// 停止指定Serivce
stopService(intent);
}
});
}
}
点击启动service和关闭service