реагировать родной: проверить настройки фоновых действий Android - PullRequest
0 голосов
/ 01 ноября 2019

Я хочу, чтобы мое приложение проверило, включена ли его фоновая активность в настройках Android.

Settings => Apps & notifications => Advanced => Apps background activities

Мне известно о пакете react-native-device-info, но я не видел ни одного метода, связанного сфоновые действия.

Как мне этого добиться?

1 Ответ

0 голосов
/ 01 ноября 2019

'react-native-device-info' не знает статус вашего приложения. Этот модуль - это модуль, который вы используете, когда вам это нужно для получения информации об этом устройстве. Например, UUID значение, APPID значение и т. Д.

AppState может сообщить вам, находится ли приложение на переднем или заднем плане, и уведомит вас об изменении состояния.

  • active - приложение работает на переднем плане
  • background - приложение работает в фоновом режиме. Пользователь может либо:
    • в другом приложении
    • на главном экране
    • [Android] в другом приложении (даже если оно было запущено вашим приложением)

Пример

import React, {Component} from 'react';
import {AppState, Text} from 'react-native';

class AppStateExample extends Component {
  state = {
    appState: AppState.currentState,
  };

  componentDidMount() {
    AppState.addEventListener('change', this._handleAppStateChange);
  }

  componentWillUnmount() {
    AppState.removeEventListener('change', this._handleAppStateChange);
  }

  _handleAppStateChange = (nextAppState) => {
    if (
      this.state.appState.match(/inactive|background/) &&
      nextAppState === 'active'
    ) {
      console.log('App has come to the foreground!');
    }
    this.setState({appState: nextAppState});
  };

  render() {
    return <Text>Current state is: {this.state.appState}</Text>;
  }
}

Документ FCM

Фоновые приложения с ограниченным доступом (Android P или выше)

Начиная с января 2019 года, FCM не будет пересылать сообщения в приложения с фоновыми ограничениями (например, «Настройки» -> «Приложения и уведомления» -> «батареи»). Когда приложение удаляется из предела фона, новое сообщение о приложении доставляется, как и раньше.

Посмотрите на часть о "удаленных push-уведомлениях" :

...