创建服务: 在安卓项目中创建一个继承自Service 的类,重写onCreate()、onStartCommand()和 onDestroy()方法。onCreate()方法在服务创建时 调用,onStartCommand()方法在服务启动时调用, onDestroy()方法在服务销毁时调用。
下面是一个简单的服务示例代码,该服务在后台 每隔一秒输出一次日志:
public class MyService extends Service {
private Handler handler = new Handler();
private Runnable runnable = new Runnable() {
@Override
public void run() { Log.d("MyService", "Service is running");
handler.postDelayed(this, 1000); } };
@Override
public void onCreate() { super.onCreate();
Log.d("MyService", "Service created");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId)
{ Log.d("MyService", "Service started"); handler.postDelayed(runnable, 1000); return START_STICKY;
}
@Override
public void onDestroy() { super.onDestroy(); Log.d("MyService", "Service destroyed"); handler.removeCallbacks(runnable);
}
@Nullable
@Override
public IBinder onBind(Intent intent) { return null;
}
}
注册服务,
在AndroidManifest.xml文件中声明服务,这样系统才能知道您的应用程序具有哪些服务。在 `<application>` 标签内添加以下代码:
<service
android:name=".MyService" />
启动服务: 可以通过调用startService()方法来启动服务。例如,在Activity中调用startService()方法来启动服务:
Intent intent = new Intent(this, MyService.class); startService(intent);
停止服务: 可以通过调用stopService()方法来停止服务。例如,在Activity中调用stopService()方法来停止服务:
Intent intent = new Intent(this,MyService.class); stopService(intent);
绑定服务: 可以通过调用bindService()方法来绑定服务,这样可以与服务进行交互。例如,在Activity中调用bindService()方法来绑定服务:
Intent intent = new Intent(this, MyService.class); bindService(intent, serviceConnection, Context.BIND_AUTO_CREATE);
解绑服务: 可以通过调用unbindService()方法来解绑服务。例如,在Activity中调用unbindService()方法来解绑服务:
unbindService(serviceConnection);