我正在尝试在我的flutter项目中使用配置单元数据库。为了使用配置单元数据库,我将不得不使用path_provider包。我也安装了它。但当我再次运行应用程序或重新启动时,它既没有运行,也没有重新启动,并出现此错误。
Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null)
E/flutter (15905): #0
PathProviderApi.getApplicationDocumentsPath
package:path_provider_android/messages.g.dart:9
Android清单文件权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
/>
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
/>
我的代码
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
final document = await getApplicationDocumentsDirectory(); // ERROR AT THIS LINE
Hive.init(document.path);
runApp(const MyApp());
}
2条答案
按热度按时间ut6juiuv1#
Actually, I didn't put any uses-permission in Maneifest file to use Hive. Instead of Hive.init(), I would like to suggest to use Hive.initFlutter(). But without
inside initFlutter() method, these actions are already done by itself.
bis0qfac2#
在
AndroidManifest.xml
文件中添加权限就像定义您可以在应用中使用的所有权限。但要实际使用这些权限,您需要要求用户允许这些权限,就像使用内部/外部存储一样。一种方法是使用permission_handler包。