android_device_info.dart 778 B

123456789101112131415161718192021222324252627282930
  1. import 'package:electronic_assistant/utils/common_utils.dart';
  2. import 'package:electronic_assistant/utils/mmkv_util.dart';
  3. import 'package:uuid/uuid.dart';
  4. class AndroidDeviceInfo {
  5. String? _androidId;
  6. AndroidDeviceInfo._() {
  7. _androidId = KVUtil.getString(AndroidConstants.keyAndroidIdCache, null);
  8. }
  9. String? get androidId {
  10. if (_androidId != null && _androidId!.isNotEmpty) {
  11. return _androidId;
  12. }
  13. _androidId = getAndroidId();
  14. KVUtil.putString(AndroidConstants.keyAndroidIdCache, _androidId);
  15. return _androidId;
  16. }
  17. String getAndroidId() {
  18. return const Uuid().v4();
  19. }
  20. }
  21. class AndroidConstants {
  22. static final String keyAndroidIdCache = stringToUnicode("keyAndroidIdCache");
  23. }
  24. final androidDeviceInfo = AndroidDeviceInfo._();