android - 仅限 ACCESS_FINE_LOCATION 权限错误模拟器

标签 android android-emulator geolocation

我只在使用模拟器时遇到了一个奇怪的错误。 我发现了一个 9 个月前有相同问题的问题,但根本没有答案...

我正在使用谷歌播放服务位置来获取我的应用程序中的位置,并且我确定我的 list 权限并且一切都在我的手机上完美运行,仅使用模拟器时会出现问题,我在两者上都尝试了不同的模拟器我的 iMac 和 Windows 机器。

我怀疑模拟器不支持这个基本功能!

这是我的 list 代码:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.orderme.ordermeandroid" >
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

这里是触发异常的地方:

    LocationRequest mLocationRequest = new LocationRequest();
    mLocationRequest.setInterval(10000);
    mLocationRequest.setFastestInterval(5000);
    mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
    LocationServices.FusedLocationApi.requestLocationUpdates(googleApiClient,mLocationRequest,this);

堆栈跟踪:

08-26 14:01:19.699  10157-10157/com.orderme.ordermeandroid E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.orderme.ordermeandroid, PID: 10157
java.lang.SecurityException: Client must have ACCESS_FINE_LOCATION permission to request PRIORITY_HIGH_ACCURACY locations.
        at android.os.Parcel.readException(Parcel.java:1599)
        at android.os.Parcel.readException(Parcel.java:1552)
        at com.google.android.gms.location.internal.zzg$zza$zza.zza(Unknown Source)
        at com.google.android.gms.location.internal.zzi.zza(Unknown Source)
        at com.google.android.gms.location.internal.zzj.zza(Unknown Source)
        at com.google.android.gms.location.internal.zzd$1.zza(Unknown Source)
        at com.google.android.gms.location.internal.zzd$1.zza(Unknown Source)
        at com.google.android.gms.common.api.zzc$zza.zzb(Unknown Source)
        at com.google.android.gms.common.api.zzf.zza(Unknown Source)
        at com.google.android.gms.common.api.zzf.zzb(Unknown Source)
        at com.google.android.gms.common.api.zzi.zzb(Unknown Source)
        at com.google.android.gms.location.internal.zzd.requestLocationUpdates(Unknown Source)
        at com.orderme.ordermeandroid.Main.MainActivity.onConnected(MainActivity.java:184)
        at com.google.android.gms.common.internal.zzk.zzh(Unknown Source)
        at com.google.android.gms.common.api.zzg.zznt(Unknown Source)
        at com.google.android.gms.common.api.zzg.onConnected(Unknown Source)
        at com.google.android.gms.common.api.zzi$2.onConnected(Unknown Source)
        at com.google.android.gms.common.internal.zzj$zzg.zzoD(Unknown Source)
        at com.google.android.gms.common.internal.zzj$zza.zzc(Unknown Source)
        at com.google.android.gms.common.internal.zzj$zza.zzs(Unknown Source)
        at com.google.android.gms.common.internal.zzj$zzc.zzoF(Unknown Source)
        at com.google.android.gms.common.internal.zzj$zzb.handleMessage(Unknown Source)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:148)
        at android.app.ActivityThread.main(ActivityThread.java:5417)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

最佳答案

我的猜测是您在 Android 6.0+ 模拟器上运行此程序,并且您的 targetSdkVersion 为 23 或更高。

在这种情况下,ACCESS_COARSE_LOCATIONACCESS_FINE_LOCATIONthe Android 6.0 runtime permission system 的一部分.修改您的应用以加入此系统,或将您的 targetSdkVersion 降至 23 以下。

关于android - 仅限 ACCESS_FINE_LOCATION 权限错误模拟器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32224534/

相关文章:

android - 字体大小变大以适合 Kitkat Only 上的表情符号缓存

android - 是否可以使用 aadhaar 卡详细信息制作应用/创建应用计数?

javascript - 为什么我无法从此 jsonp 响应获取位置?

java - 简单的定时器,时间间隔怎么讲?

java - 无法解析配置 ':app:_debugApkCopy' 的所有依赖项。找不到 com.google.android.gms :play-services-appindexing:10. 0.1

android - 如何让安卓模拟器显示软键盘?

android - 如何在 Android 中以编程方式获取当前 GPS 位置?

python - 用于根据提交的字符串推断国家/地区的库或 API?

java - 安卓数据库错误

android-emulator - 启动 avd 时出现模拟器错误