Выполнение раздела кода без открытия приложения - PullRequest
0 голосов
/ 10 июля 2019

У меня есть вопрос, как позволить приложению активно работать в фоновом режиме, несмотря на то, что приложение не открыто пользователем.

Например, я хочу получать уведомление или запускать часть кода, несмотря на то, что приложение не открыто или не активно.

Ответы [ 2 ]

0 голосов
/ 10 июля 2019

Для запуска любого кода в фоновом режиме вам нужно создать класс сервиса, когда ваше приложение переходит в фоновый режим, запустите этот сервис с помощью метода startService (), но вам также необходимо создать уведомление, сообщающее пользователю, что приложениезапуск службы, чтобы система не убивала вашу службу.это уведомление:

Notification.Builder builder = new Notification.Builder(this)
            .setContentTitle("Title")
            .setContentText("content");
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
             builder.setChannelId(channelId)

    //Make this notification ongoing so it can’t be dismissed by the user//

            .setOngoing(true)
            .setSmallIcon(R.drawable.notification_icon);
    startForeground(id, builder.build());

и внутри класса обслуживания onCreate напишите свою логику.надеюсь, это поможет

0 голосов
/ 10 июля 2019

Для обработки уведомлений, когда ваше приложение закрыто, открыто или работает в фоновом режиме, вы можете создать службу с расширением

com.google.firebase.messaging.FirebaseMessagingService

public class YourMessagingService extends FirebaseMessagingService {

    @Override
    public void onMessageReceived(final RemoteMessage remoteMessage) {

      // Handle your notification here ...
      // Parse the notification, create your app channel,
      // set the activity to run when clicking the notification, ...

    }
}

Вам необходимо объявить свой сервис в файле AndroidManifest.xml вашего приложения:

<service android:name=".YourMessagingService ">
    <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT" />
    </intent-filter>
</service>

Вы можете просмотреть эти страницы для получения дополнительной информации: https://firebase.google.com/docs/cloud-messaging/android/receive

https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/FirebaseMessagingService

Не удается найти метод createNotificationChannel (NotificationChannel)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...