Android compileSdk 27 ​​запускает сервис автоматического показа уведомлений - PullRequest
0 голосов
/ 05 июня 2018

У меня есть приложение, которое запускает службу.Я знаю, что у Android Oreo есть некоторые ограничения, поэтому я начал свою службу с этим кодом:

context.startForegroundService(new Intent(context.getApplicationContext(), BeaconService.class));

В классе BeaconService в методе onCreate () я вызвал метод startForeground ().Я сделал это так:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        NotificationChannel channel = new NotificationChannel(CHANNEL_ID,
                "MyApp",
                NotificationManager.IMPORTANCE_HIGH);

        try {
            ((NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE)).createNotificationChannel(channel);
        } catch (Exception e){
            e.printStackTrace();
        }

        Notification notification = new NotificationCompat.Builder(this, CHANNEL_ID).build();
        startForeground(1, notification);

    }

Моя проблема в том, что при запуске этой службы я получаю пустое уведомление о том, что мое приложение работает.Зачем?Я не хочу получать это уведомление, когда мое приложение работает на переднем плане.

1 Ответ

0 голосов
/ 05 июня 2018

startForegroundService неявно вызывает startForeground (int id, Notification notification), как только служба запускается.Уведомление, которое вы видите, происходит из-за этого неявного вызова.

...