platform_detail 4.1.0 copy "platform_detail: ^4.1.0" to clipboard
platform_detail: ^4.1.0 copied to clipboard

A lightweight library to obtain details of the current platform in a much more complete and simple way.

A library for getting platform details.

pub package CI Status

This lightweight package allows in a very simple and optimized way to obtain details about the platform on which it is running. It's multi-platform, and supports mobile, desktop, and the browser.

Using #

The easiest way to use this library is to call the PlatformDetail class as follows. Multiple instances are not being created since thanks to a factory constructor it always returns an internal singleton.

Detecting by type of platform #

If you just need to know if it's mobile, desktop, web, or even desktop/web. You will love:

import 'package:platform_detail/platform_detail.dart';

if (PlatformDetail.isMobile) {
  print('The current platform is Mobile');
}  

if (PlatformDetail.isDesktopOrWeb) {
  print('The current platform is Desktop or Web');
}

if (PlatformDetail.isDesktop) {
  print('The current platform is Desktop');
}

if (PlatformDetail.isWeb) {
  print('The current platform is web');
}

In addition, you can also use the enum in the PlatformGroup to which it belongs. That is, if it is web, mobile or desktop:

switch (PlatformDetails.currentGroupPlatform) {
  case PlatformGroup.mobile:
    print('The current group platform is mobile');
    break;
  case PlatformGroup.web:
    print('The current group platform is web');
    break;
  case PlatformGroup.desktop:
    print('The current group platform is desktop');
    break;
}

Detecting by single platform #

If instead you want to ask individually for each platform supported by Flutter:

if (PlatformDetail.isIOS) {
  print('The current platform is iOS');
}

if (PlatformDetail.isAndroid) {
  print('The current platform is Android');
}

if (PlatformDetail.isFuchsia) {
  print('The current platform is Fuchsia');
}

if (PlatformDetail.isWindows) {
  print('The current platform is Windows');
}

if (PlatformDetail.isLinux) {
  print('The current platform is Linux');
}

if (PlatformDetail.isMacOS) {
  print('The current platform is macOS');
}

Get a device description #

If you need more detailed information about the device and operating system it is running on.

final descriptionDevice = await PlatformDetail.deviceInfo();

Or maybe you need an information string about the device info:

final descriptionDevice = await PlatformDetail.deviceInfoDetails();

This will return something like this:

  • Android: Android 9 (SDK 28), Xiaomi Redmi Note 7
  • iOS: iOS 13.1, iPhone 11 Pro Max iPhone
  • Web: Google Chrome (115.0.5790.170)
  • Linux: Fedora 17 (Beefy Miracle)
  • Windows: Windows 10 Home (1903)
  • MacOS: macOS 13.5, MacBook Pro

Light/Dark Mode #

You can detect too if the device is configured in light or dark mode:

if (PlatformDetail.isLightMode) {
  print('The current platform is configured with light mode');
}

if (PlatformDetail.isDarkMode) {
print('The current platform is configured with dark mode');
}

Also, you can use the DeviceTheme enum for this:

if (PlatformDetail.theme == DeviceTheme.light) {
  print('The current device is configured in light mode');
}

if (PlatformDetail.theme == DeviceTheme.dark) {
print('The current device is configured in dark mode');
}
16
likes
160
points
246
downloads

Publisher

verified publishervictorcarreras.dev

Weekly Downloads

A lightweight library to obtain details of the current platform in a much more complete and simple way.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

device_info_plus, flutter

More

Packages that depend on platform_detail