访问隐藏方法时出现问题。安卓、颤动、地理定位器

Problem with Accessing hidden method. Android, Flutter, Geolocator(访问隐藏方法时出现问题。安卓、颤动、地理定位器)
本文介绍了访问隐藏方法时出现问题。安卓、颤动、地理定位器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Udemy上上这个扑翼/飞镖课程,在一个新项目的开始,我被困在试图使用Geolocater Package。该项目的初始GitHub项目位于here。

本课程的第一步是导入geolocator包,将其添加到pubspec.yml,然后在Screens/LoadingScreen.dart文件中的_LoadingScreenState中添加一个函数:

void getLocation() async {
  Position position = await Geolocator()
      .getCurrentPosition(desiredAccuracy: LocationAccuracy.low);
  print(position);
}

,最后只需将getLocation();添加到同一页面上的onPressed。在本教程中,这一功能运行良好,因为他们使用的是我相信的API 26和地理定位器的3.0.1版本。但是,我正在使用API 29或30(两者都不起作用),并收到以下错误:

W/ppbrewery.clim(25370):访问隐藏方法 Landroid/content/Context;->;getFeatureId()Ljava/lang/String;(灰名单, 反射,允许)

我对这个问题做了一些研究,它之所以这样做,似乎是因为我使用的是API 30。但是,我不知道如何处理此问题,也不知道如何让它打印我的位置。

有关文档,请参阅:

https://developer.android.com/distribute/best-practices/develop/restrictions-non-sdk-interfaces

底部写着:如何启用对非SDK接口的访问?

但是ADB外壳设置PUT GLOBAL HIDDED_API_POLICY 1命令对我没有任何作用。这可能是因为我使用的是API30,但我就是不知道。它似乎对API 29也没有任何作用。

此外,上面的解决方案似乎只是为了在开发设备/仿真器上修复它,除非我误解了它。如何修复模拟器和将来的实际部署?

推荐答案

试试这个。

Geolocator geolocator = Geolocator()..forceAndroidLocationManager = true;
Position position = await Geolocator().getCurrentPosition(desiredAccuracy: LocationAccuracy.low);

您可以通过单击仿真器末尾的三个点来打开此设置

别忘了像这样在模拟器上设置位置并设置位置。

这篇关于访问隐藏方法时出现问题。安卓、颤动、地理定位器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

How to target newer versions in .gitlab-ci.yml using auto devops (java 11 instead of 8 and Android 31 instead of 29)(如何在.gitlab-ci.yml中使用自动开发工具(Java 11而不是8,Android 31而不是29)瞄准较新的版本)
Android + coreLibraryDesugaring: which Java 11 APIs can I expect to work?(Android+core LibraryDesugering:我可以期待哪些Java 11API能够工作?)
How to render something in an if statement React Native(如何在If语句中呈现某些内容Reaction Native)
How can I sync two flatList scroll position in react native(如何在本机Reaction中同步两个平面列表滚动位置)
Using Firebase Firestore in offline only mode(在仅脱机模式下使用Firebase FiRestore)
Crash on Google Play Pre-Launch Report: java.lang.NoSuchMethodError(Google Play发布前崩溃报告:java.lang.NoSuchMethodError)