55 lines
1.6 KiB
Java
55 lines
1.6 KiB
Java
package com.example.myapplication.Service;
|
|
|
|
import android.app.Notification;
|
|
import android.app.NotificationChannel;
|
|
import android.app.NotificationManager;
|
|
import android.app.Service;
|
|
import android.content.Intent;
|
|
import android.os.Build;
|
|
import android.os.IBinder;
|
|
|
|
import androidx.annotation.Nullable;
|
|
import androidx.core.app.NotificationCompat;
|
|
|
|
import com.example.myapplication.R;
|
|
|
|
public class ForegroundService extends Service {
|
|
@Override
|
|
public void onCreate() {
|
|
super.onCreate();
|
|
startForeground(1, createNotification());
|
|
}
|
|
|
|
@Nullable
|
|
@Override
|
|
public IBinder onBind(Intent intent) {
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public int onStartCommand(Intent intent, int flags, int startId) {
|
|
return START_STICKY;
|
|
}
|
|
|
|
|
|
|
|
private Notification createNotification() {
|
|
NotificationChannel channel = null;
|
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
channel = new NotificationChannel(
|
|
"channel_id",
|
|
"Foreground Service",
|
|
NotificationManager.IMPORTANCE_LOW
|
|
);
|
|
NotificationManager manager = getSystemService(NotificationManager.class);
|
|
manager.createNotificationChannel(channel);
|
|
}
|
|
|
|
return new NotificationCompat.Builder(this, "channel_id")
|
|
.setContentTitle("录音服务运行中")
|
|
.setContentText("悬浮球正在运行")
|
|
.setSmallIcon(R.drawable.ic_mic_off)
|
|
.build();
|
|
}
|
|
}
|