void initState() {
super.initState();
fetchData();
}
fetchData() async {
setState(() {
isLoading = true; //Data is loading
});
GeolocationStatus geolocationStatus =
await Geolocator().checkGeolocationPermissionStatus();
position = await Geolocator()
.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
if (position != null) {
lastPosition = await Geolocator()
.getLastKnownPosition(desiredAccuracy: LocationAccuracy.high);
}
...
if (position != null)
print(position);
else
print(lastPosition);
print(geolocationStatus);
setState(() {
isLoading = false; //Data has loaded
});
}
经过一些研究,我决定解决
尝试检查权限。我声明
PermissionStatus _status
在我的fetchdata()函数中添加了以下几行:
PermissionHandler()
.checkPermissionStatus(PermissionGroup.location);
我得到的
我的清单具有我最好的理解权限。清单文件:https://gist.github.com/purukitto/640D1637C05BDB1B69CC430C4309947C45D5D 从我所理解的内容中,将权限添加到清单中的内容至少应添加到应用程序的权限选项,但是在构建和安装应用程序后,我的应用程序(附加屏幕截图)就有“没有权限”。 问题可能是什么。我试图提及所有相关的事情。任何洞察力都会非常有帮助。
th这个问题在flutter软件包中链接Permission_handler的读数,作为设置with
No permissions found in manifest for: 3
询问权限的示例。
如果您的设备有问题,请询问用户获取权限,这可能是您的罪魁祸首。
详细说明Rollcake的答案:1。如果您不知道所需的权限,请访问
android开发人员页面以查看列表和语法(es)。 2。在您的项目中,开放:android/app/src/main/androidmanifest.xml
3。插入您的权限,如本示例所示:
AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.your.package">
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<application
android:name="io.flutter.app.FlutterApplication"
...<and so on>...
文件(... SRC/DEBUG,... SRC/PROFIL和... SRC/MAIN)。在上述AndroidManifest.xml
版本中添加权限应起作用,但是如果您注意到不一致的行为,请确保将所有权限都放在同一AndroidManifest文件中。1。将它们添加到AndroidMenifest.xml
中
main
2。更新权限处理程序软件包:
Https://pub.dev/packages/permision_handler
FlutterProject中的开放式Android项目
单击表示文件ininsert许可
targetsdkversion的检查是23
@@sludge的这篇注释解决了我的问题。我在main中拥有所有适当的权限,但没有在
debug的<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
中。
我会询问checkSelfPermission()