Android_Service(2)前台服务(service)和远程服务(service)

本文介绍了Android中的前台服务和远程服务。前台服务通过显示状态栏通知保持高优先级,常用于音乐播放器等应用。文章展示了如何创建和停止前台服务,并提供了示例代码。远程服务则通过指定android:process为:remote来实现,主要区别在于进程间的通信。文章包括了绑定和解绑远程服务的示例。
摘要由CSDN通过智能技术生成

一、前台服务

       service基本都是在后台进行运行的,一直都是在默默地工作,不爱表现自己(没有界面),可是这样一个基层的工作人员(service)在android系统的待遇(优先级)还是比较差的,在系统内存不足的情况下,就有可能回收掉正在后台运行的service,因此service就会停止运行。如果希望service一直保持运行,不因系统内存不足而回收,该怎么做呢?可以先考虑使用前台service,前台service和普通service的区别在于,前台service一直有一个正在运行的图标在系统的状态栏中显示。但有一点要注意的是使用前台service不代表service不能被杀死,在应用程序管理那里可以停止前台service,状态栏通知被删除了也能解除service!
       那前台service有什么可以用来干什么呢?通常来说,一个音乐的播放器可以设置前台service,在状态栏中可以显示播放的歌曲相关的信息并可以作为启动按钮,打开音乐播放器,而且用户也是明确知道音乐播放器在运行的。还有天气相关的app也可以用前台service,在状态栏中实时同步更新的天气信息。

       那么我们先来看看前台service的效果吧:


       效果图可以看到前台service的界面,基本和一个通知信息界面差不多,然后点击停止前台service,状态栏的图标就消失了!此时前台service也就关闭了!当然用户想要停止前台service,也跟普通service一样,可以在程序管理器那里进行停止,具体看下面的效果图!


       看完效果图,我们来看下代码的实现,其实基本跟普通的service差不多,就是多了需要调用startForeground()方法,这个方法需要两个参数:一个唯一标识通知的整数和给状态栏的通知!如果需要删除前台service需要调用stopForeground()方法!

主界面的代码:

package com.liangdianshui.service2;

import com.example.service2.R;

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;

public class MainActivity extends Activity implements OnClickListener {

	private Button mBtStartFrontService;
	private Button mBtStopFrontService;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		initView();
	}

	private void initView() {
		mBtStartFrontService = (Button) findViewById(R.id.bt_start_front_server);
		mBtStopFrontService &#
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值