2014-12-01 2 views
2

Как я могу запустить сервис в Управлении?Запуск службы переднего плана в действии

Я пытался позвонить:

Notification notification = new Notification(R.drawable.ic_launcher, getText(R.string.app_name),System.currentTimeMillis()); 
    Intent notificationIntent = new Intent(this, MainActivity.class); 
    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); 
    notification.setLatestEventInfo(this, getText(R.string.app_name),getText(R.string.app_name), pendingIntent); 
    startForeground(1, notification); 

Однако "не удается разрешить метод 'startforeground (Int, android.app.Notification)"

Что мне делать, чтобы позвонить startForeground? Я попробовал getApplicationContext() безрезультатно.

ответ

6

Как начать сервис в Управлении?

Звоните startService().

Однако "не удается разрешить метод 'startforeground (INT, android.app.Notification)"

startForeground() является метод на Service. Вашему Service необходимо позвонить по телефону startForegrond() (например, в службе onCreate()).

+0

Так что мне нужен отдельный класс, который управляет уведомлением? И он должен расширить обслуживание? – wayway

+1

@WayWay: Весь код, который у вас есть в вашем вопросе, принадлежит «Сервису». Что еще более важно, этот код следует запускать только тогда, когда у вас есть «Сервис», который должен иметь приоритет переднего плана. Услуги переднего плана могут нанести ущерб пользовательскому опыту (например, заставляя ваш процесс связывать системную память). Используйте их только тогда, когда пользователь оценит причину, по которой работает ваша служба, и почему вы вызвали функцию «startForeground()» в службе. – CommonsWare

+0

Спасибо, я сейчас понимаю механизмы Сервиса. – wayway

Смежные вопросы