首页 > 解决方案 > 两个插件具有相同的类名flutter

问题描述

我正在导入
permission_handler插件和
位置插件。
问题是这两个都有一个名为 PermissionStatus 的类,我需要使用位置插件中的 PermissionStatus.granted 因为我正在请求从位置插件访问位置的权限。所以我需要有人向我解释是
a)如何解决使用一个插件中的类的问题,这恰好在我以相同名称导入的另一个插件中。

或者

b)如何仅使用 permission_handler 正确请求访问位置的权限

标签: flutterplugins

解决方案


如果您的 import twolibraries有冲突的标识符,那么您可以import prefix为 one 或 both指定一个libraries

例如,如果library1library2都有一个Element类,那么你可能有这样的代码:

import 'package:lib1/lib1.dart';
import 'package:lib2/lib2.dart' as lib2;

// use in your code like
Element libraryOneElement = Element(); // from library one
lib2.Element libraryTwoElement = lib2.Element(); // from library two

以您的代码为例的演示:

import '...permission_handler...';
import '... location...' as location;

// use in your code like
var permissionHandlerStatus = PermissionStatus.granted;
var locationPermissionStatus = location.PermissionStatus.granted;

推荐阅读