device_info_csx 0.1.0 copy "device_info_csx: ^0.1.0" to clipboard
device_info_csx: ^0.1.0 copied to clipboard

Flutter plugin providing detailed information about the device (make, model, etc.), and Android or iOS version the app is running on.

example/lib/main.dart

/*
 * @Author: Cao Shixin
 * @Date: 2021-01-04 17:54:50
 * @LastEditors: Cao Shixin
 * @LastEditTime: 2021-03-25 18:54:31
 * @Description: 
 */
import 'dart:async';

import 'dart:io';
import 'package:device_info_csx/device_info_csx.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

void main() {
  runZonedGuarded(() {
    runApp(MyApp());
  }, (dynamic error, dynamic stack) {
    print(error);
    print(stack);
  });
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  Map<String, dynamic> _deviceData = <String, dynamic>{};

  @override
  void initState() {
    super.initState();
    initPlatformState();
  }

  Future<void> initPlatformState() async {
    Map<String, dynamic> deviceData = <String, dynamic>{};

    try {
      if (Platform.isAndroid) {
        deviceData = (await DeviceInfoCsx.androidInfo()).toJson();
      } else if (Platform.isIOS) {
        deviceData = (await DeviceInfoCsx.iosInfo()).toJson();
      }
    } on PlatformException {
      deviceData = <String, dynamic>{
        'Error:': 'Failed to get platform version.'
      };
    }

    if (!mounted) return;

    setState(() {
      _deviceData = deviceData;
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text(
              Platform.isAndroid ? 'Android Device Info' : 'iOS Device Info'),
        ),
        body: ListView(
          children: _deviceData.keys.map((String property) {
            return Row(
              children: <Widget>[
                Container(
                  padding: const EdgeInsets.all(10.0),
                  child: Text(
                    property,
                    style: const TextStyle(
                      fontWeight: FontWeight.bold,
                    ),
                  ),
                ),
                Expanded(
                    child: Container(
                  padding: const EdgeInsets.fromLTRB(0.0, 10.0, 0.0, 10.0),
                  child: Text(
                    '${_deviceData[property]}',
                    maxLines: 1000,
                    overflow: TextOverflow.ellipsis,
                  ),
                )),
              ],
            );
          }).toList(),
        ),
      ),
    );
  }
}
1
likes
150
points
19
downloads

Publisher

unverified uploader

Weekly Downloads

Flutter plugin providing detailed information about the device (make, model, etc.), and Android or iOS version the app is running on.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on device_info_csx

Packages that implement device_info_csx