Android 服务(Service)适合执行那些不需要和用户交互而且还要求长期运行的任务。
创新互联是一家专业提供凤县企业网站建设,专注与成都网站制作、网站建设、H5开发、小程序制作等业务。10年已为凤县众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。服务的运行不依赖于任何用户界面,即使 APP 被切换到后台,或者打开了另外一个 APP,服务仍然能够保持正常运行。
但是当某个 APP 进程被杀掉时,那么这个 APP 所创建的所有服务也就停止咯。
另外,服务本身并不会自动开启线程,服务代码默认是运行在主线程中的。所以如果需要执行的业务逻辑耗时长,那么为了防止主线程被阻塞,我们必须在服务内部创建子线程来执行这些业务逻辑。
1 定义服务
在 Android Studio 中可以通过 File→New→Service→Service 来创建服务:
在弹出的对话框中配置服务:
在此配置服务名。下面两个配置项说明如下:
* Exported:是否允许除了当前程序之外的其他程序访问这个服务。(默认勾选)
* Enabled:是否启用这个服务 。 (默认勾选)
public class FirstService extends Service { private static final String TAG = "FirstService"; @Override public void onCreate() { super.onCreate(); Log.d(TAG, "onCreate"); } @Override public int onStartCommand(Intent intent, int flags, int startId) { Log.d(TAG, "onStartCommand"); return super.onStartCommand(intent, flags, startId); } @Override public void onDestroy() { super.onDestroy(); Log.d(TAG, "onDestroy"); } public FirstService() { } @Override public IBinder onBind(Intent intent) { // TODO: Return the communication channel to the service. throw new UnsupportedOperationException("Not yet implemented"); } }