如何在Flutter中以共享首选项存储设备信息

时间:2019-10-01 06:44:52

标签: flutter sharedpreferences store device flutter-dependencies

在此问题中,我想将设备信息存储到共享首选项中,因为我想从应用程序的任何位置访问设备信息。希望你理解这个问题。您的小小的帮助可以使我过得开心:)

这是我尝试过的一些代码

      Future deviceinfo() async {
        if (Platform.isAndroid) {
          AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
          print("Hey Android User");
          print('Running on ${androidInfo.id}');
          print('Running on ${androidInfo.isPhysicalDevice}');
          print('Running on ${androidInfo.fingerprint}');
//Here in this line error
          SharedPreferences devicepref = await SharedPreferences.getInstance();
          devicepref.setString('deviceinfo', androidInfo);
        } else if (Platform.isIOS) {
          IosDeviceInfo iosInfo = await deviceInfo.iosInfo;
          print("Hey IOS User");
          print('Running on ${iosInfo.utsname.machine}');
        }
      }

1 个答案:

答案 0 :(得分:1)

要将信息保存在内存中,请使用设置共享首选项:

SharedPreferences prefs = await SharedPreferences.getInstance();
        if (Platform.isAndroid) {
          AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
          prefs.setString('deviceinfo', androidInfo.id});
          prefs.setString('deviceID', your_android_id_value});
          prefs.setString('deviceName', your_android_name_value});
        } else if (Platform.isIOS) {
          IosDeviceInfo iosInfo = await deviceInfo.iosInfo;
          prefs.setString('deviceinfo', iosInfo.utsname.machine});
          prefs.setString('deviceID', your_ios_id_value});
          prefs.setString('deviceName', your_ios_name_value});
        }

要使用共享的首选项从内存中获取信息:

SharedPreferences prefs = await SharedPreferences.getInstance();
     String info=prefs.getString("deviceinfo");
     String info=prefs.getString("deviceID");
     String info=prefs.getString("deviceName");
     print("info : ${info}");
     print("ID: ${deviceID}");
     print("Name: ${deviceName}");

这将为您提供帮助。