只有ACCESS_FINE_LOCATION权限错误模拟器 [英] ACCESS_FINE_LOCATION permission error emulator only

查看:1710
本文介绍了只有ACCESS_FINE_LOCATION权限错误模拟器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在使用仿真器只具有一个奇怪的错误。 我发现一个问题,有相同的问题,9个月前有没有答案......

我使用的是谷歌播放服务的位置,以便让我的应用程序的位置,我相信我的表现权限,一切完美的作品在我的手机,出现问题只使用仿真器的时候,我试图在两个不同的仿真器我的iMac和Windows计算机。

我怀疑仿真器不支持此基本功能!

这里是我的清单code:

 < XML版本=1.0编码=UTF-8&GT?;
<舱单的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
    包=com.orderme.ordermeandroid>
<使用-权限的Andr​​oid:名称=android.permission.INTERNET对>< /使用-许可>
<使用-权限的Andr​​oid:名称=android.permission.ACCESS_COARSE_LOCATION/>
<使用-权限的Andr​​oid:名称=android.permission.ACCESS_FINE_LOCATION/>
 

和这里就是异常被解雇:

  LocationRequest mLocationRequest =新LocationRequest();
    mLocationRequest.setInterval(10000);
    mLocationRequest.setFastestInterval(5000);
    mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
    LocationServices.FusedLocationApi.requestLocationUpdates(googleApiClient,mLocationRequest,这一点);
 

堆栈跟踪:

  08-26 14:01:19.699 10157-10157 / com.orderme.ordermeandroid E / AndroidRuntime:致命异常:主要
工艺:com.orderme.ordermeandroid,PID:10157
java.lang.SecurityException异常:客户必须有ACCESS_FINE_LOCATION权限申请PRIORITY_HIGH_ACCURACY位置。
        在android.os.Parcel.readException(Parcel.java:1599)
        在android.os.Parcel.readException(Parcel.java:1552)
        在com.google.android.gms.location.internal.zzg $ ZZA $ zza.zza(来源不明)
        在com.google.android.gms.location.internal.zzi.zza(来源不明)
        在com.google.android.gms.location.internal.zzj.zza(来源不明)
        在com.google.android.gms.location.internal.zzd $ 1.zza(来源不明)
        在com.google.android.gms.location.internal.zzd $ 1.zza(来源不明)
        在com.google.android.gms.common.api.zzc $ zza.zzb(来源不明)
        在com.google.android.gms.common.api.zzf.zza(来源不明)
        在com.google.android.gms.common.api.zzf.zzb(来源不明)
        在com.google.android.gms.common.api.zzi.zzb(来源不明)
        在com.google.android.gms.location.internal.zzd.requestLocationUpdates(来源不明)
        在com.orderme.ordermeandroid.Main.MainActivity.onConnected(MainActivity.java:184)
        在com.google.android.gms.common.internal.zzk.zzh(来源不明)
        在com.google.android.gms.common.api.zzg.zznt(来源不明)
        在com.google.android.gms.common.api.zzg.onConnected(来源不明)
        在com.google.android.gms.common.api.zzi $ 2.onConnected(来源不明)
        在com.google.android.gms.common.internal.zzj $ zzg.zzoD(来源不明)
        在com.google.android.gms.common.internal.zzj $ zza.zzc(来源不明)
        在com.google.android.gms.common.internal.zzj $ zza.zzs(来源不明)
        在com.google.android.gms.common.internal.zzj $ zzc.zzoF(来源不明)
        在com.google.android.gms.common.internal.zzj $ zzb.handleMessage(来源不明)
        在android.os.Handler.dispatchMessage(Handler.java:102)
        在android.os.Looper.loop(Looper.java:148)
        在android.app.ActivityThread.main(ActivityThread.java:5417)
        在java.lang.reflect.Method.invoke(本机方法)
        在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726)
        在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
 

解决方案

我的猜测是,你是在Android 6.0+模拟器运行这一点,你有一个 targetSdkVersion 23或更高。

在这种情况下, ACCESS_COARSE_LOCATION ACCESS_FINE_LOCATION the的Andr​​oid 6.0运行时许可制度。要么修改你的应用程序,参加本系统,或删除您的 targetSdkVersion 低于23。

I'm having a weird error while using the emulator ONLY. I found one question that has the same issue 9 months ago with no answers at all...

I'm using google play services locations to get locations in my app and I'm sure of my manifest permissions and everything works perfectly on my phone, the problem occurs when using an emulator only, and I tried different emulators on both my iMac and Windows machines.

I doubt that emulators don't support this basic function!

here is my manifest code:

<?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"/>

and here is where the exception is firing:

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

stack trace:

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)

解决方案

My guess is that you are running this on an Android 6.0+ emulator and you have a targetSdkVersion of 23 or higher.

In that case, ACCESS_COARSE_LOCATION and ACCESS_FINE_LOCATION are part of the Android 6.0 runtime permission system. Either revise your app to participate in this system, or drop your targetSdkVersion below 23.

这篇关于只有ACCESS_FINE_LOCATION权限错误模拟器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆