Geolostator

问题描述 投票:0回答:3

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 }); } 经过一些研究,我决定解决

Permission_handler
尝试检查权限。我声明
PermissionStatus _status

在我的fetchdata()函数中添加了以下几行:

PermissionHandler()
        .checkPermissionStatus(PermissionGroup.location);
我得到的 我的清单具有我最好的理解权限。清单文件:

https://gist.github.com/purukitto/640D1637C05BDB1B69CC430C4309947C45D5D 从我所理解的内容中,将权限添加到清单中的内容至少应添加到应用程序的权限选项,但是在构建和安装应用程序后,我的应用程序(附加屏幕截图)就有“没有权限”。 问题可能是什么。我试图提及所有相关的事情。任何洞察力都会非常有帮助。


    

th这个问题在flutter软件包中链接
Permission_handler的读数,作为设置withNo permissions found in manifest for: 3

询问权限的示例。

如果您的设备有问题,请询问用户获取权限,这可能是您的罪魁祸首。

详细说明Rollcake的答案:

1。如果您不知道所需的权限,请访问

android开发人员页面以查看列表和语法(es)。 2。在您的项目中,开放:

android/app/src/main/androidmanifest.xmlScreenshot 3。插入您的权限,如本示例所示:

AndroidManifest.xml
android xml flutter
3个回答
14
投票
只是一个侧面注意:您的项目中有不同的

<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。更新权限处理程序软件包:

package链接:
Https://pub.dev/packages/permision_handler


FlutterProject中的开放式Android项目

单击表示文件
ininsert许可


2
投票

targetsdkversion的检查是23

@@sludge的这篇注释解决了我的问题。我在
main
中拥有所有适当的权限,但没有在

debug的<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

.

中。 我会询问checkSelfPermission()

包的开发人员是否可以指定culprit。

1
投票
themany,谢谢, @污泥

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.