记录下写的一个前台服务demo code
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.os.Build;
import android.os.IBinder;
import com.demo.example.R;
public class TestServices extends Service {
private final String CHANNEL_ID = "TEST_SERVICE_ID";
private final String CHANNEL_NAME = "渠道一";
private final String contentSub = "小标题";
private final String contentTitle = "标题";
private final String contentText = "测试前台服务";
Notification notification;
Notification.Builder builder;
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationChannel chan = new NotificationChannel(CHANNEL_ID, CHANNEL_NAME, NotificationManager.IMPORTANCE_HIGH);
chan.enableLights(true);
chan.setLightColor(Color.RED);
chan.setLockscreenVisibility(Notification.VISIBILITY_PUBLIC);
NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
assert manager != null;
manager.createNotificationChannel(chan);
builder = new Notification.Builder(this, CHANNEL_ID);
notification = builder
.setSmallIcon(R.mipmap.ic_launcher)
.setContentText(contentText)
.setSubText(contentSub)
.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher))
.setContentTitle(contentTitle)
.build();
}
startForeground(1, notification);
return START_STICKY;
}
}