I have a service playing music (media player) and it's working fine.
- How to coinfirm this service is a foreground service?
How to simulate system load and check if the service will be killed or not?
This is my code.
public int onStartCommand(Intent intent, int flags, int startId) { initMediaSession(); initMediaPlayer(); buildNotification(PlaybackStatus.PLAYING);
return super.onStartCommand(intent, flags, startId); }private void buildNotification(PlaybackStatus playbackStatus) {
final int NOTIFY_ID = 1002; String aMessage=""; String name = "my_package_channel"; String id = "my_package_channel_1"; // The user-visible name of the channel. String description = "my_package_first_channel"; // The user-visible description of the channel. Intent intent; PendingIntent pendingIntent; NotificationCompat.Builder builder; if (notifManager == null) { notifManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { int importance = NotificationManager.IMPORTANCE_HIGH; NotificationChannel mChannel = notifManager.getNotificationChannel(id); if (mChannel == null) { mChannel = new NotificationChannel(id, name, importance); mChannel.setDescription(description); notifManager.createNotificationChannel(mChannel); } builder = new NotificationCompat.Builder(this, id); intent = new Intent(this, NotificationReturnSlot.class); pendingIntent = PendingIntent.getActivity(this, 1, intent, 0); builder.setContentTitle(aMessage) // required .setSmallIcon(R.mipmap.ic_launcher) .setContentText(this.getString(R.string.app_name)) // required .setAutoCancel(false) .setContentIntent(pendingIntent) .setVibrate(new long[]{0L}) ; } else { builder = new NotificationCompat.Builder(this); intent = new Intent(this, NotificationReturnSlot.class); pendingIntent = PendingIntent.getActivity(this, 1, intent, 0); builder.setContentTitle(aMessage) // required .setSmallIcon(R.mipmap.ic_launcher) .setContentText(this.getString(R.string.app_name)) // required .setAutoCancel(false) .setContentIntent(pendingIntent) .setVibrate(new long[]{0L}) .setPriority(Notification.PRIORITY_HIGH); } int mId = 1489; startForeground(mId, builder.build());
}