Skip to content

dev-family/react-native-device-country

Repository files navigation

react-native-device-country

Get device location settings without using GPS tracker or by telephony (SIM card) (Android only)

npm version npm MIT
Platform - Android Platform - iOS

💜FOLLOW FOR RECENT NEWS💜

Installation

yarn add react-native-device-country

or

npm install react-native-device-country

Don't forget to run pod install after that!

Usage

import DeviceCountry from 'react-native-device-country';

// ...

DeviceCountry.getCountryCode()
  .then((result) => {
    console.log(result);
    // {"code": "BY", "type": "telephony"}
  })
  .catch((e) => {
    console.log(e);
  });

On Android you can use spicific method for getting country

TYPE_TELEPHONY for getting country code from SIM card

import DeviceCountry, {
  TYPE_TELEPHONY,
  TYPE_CONFIGURATION,
  TYPE_ANY,
} from 'react-native-device-country';

DeviceCountry.getCountryCode(TYPE_TELEPHONY)
  .then((result) => {
    console.log(result);
    // {"code": "PT", "type": "telephony"}
  })
  .catch((e) => {
    console.log(e);
  });

or TYPE_CONFIGURATION for getting country code from phone language settings on Android

DeviceCountry.getCountryCode(TYPE_CONFIGURATION)
  .then((result) => {
    console.log(result);
    // {"code": "RU", "type": "config"}
  })
  .catch((e) => {
    console.log(e);
  });

TYPE_ANY will be used by default. It tries to use TYPE_TELEPHONY (on Android) and fallbacks with TYPE_CONFIGURATION, if devive without SIM card.

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT