记录下写的一个前台服务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;
}
}
本文介绍了一个具体的Android前台服务实现案例,通过创建自定义的通知渠道并设置通知样式,展示了如何在Android O及以上版本中启动并运行前台服务。代码示例详细说明了如何使用Notification API来配置和显示前台服务的通知。
8866

被折叠的 条评论
为什么被折叠?



