相关疑难解决方法(0)

仅限ACCESS_FINE_LOCATION权限错误模拟器

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

我正在使用谷歌播放服务位置来获取我的应用程序中的位置,我确定我的清单权限,一切都在我的手机上完美运行,只在使用模拟器时出现问题,我在我的iMac上尝试了不同的模拟器Windows机器.

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

这是我的清单代码:

<?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"/>
Run Code Online (Sandbox Code Playgroud)

这里是异常触发的地方:

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

堆栈跟踪:

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) …
Run Code Online (Sandbox Code Playgroud)

android geolocation android-emulator

23
推荐指数
2
解决办法
2万
查看次数

ACCESS_FINE_LOCATION AndroidManifest权限未被授予

我正在尝试在Android(2.2和2.3)中使用GPS,但在尝试使用LocationManager对象时出现以下错误:

WARN/System.err(522): java.lang.SecurityException: Provider network requires ACCESS_FINE_LOCATION or ACCESS_COARSE_LOCATION permission

我在其他帖子中研究了这个问题,它们通常是由于AndroidManifest.xml的问题.然而,我的似乎很好:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.thedigitalsean.examples"
  android:versionCode="1"
  android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".GetLocation"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>
<uses-permission android:name="android.permisssion.ACCESS_FINE_LOCATION"></uses-permission>
<uses-permission android:name="android.permisssion.ACCESS_COARSE_LOCATION"></uses-permission>
<uses-permission android:name="android.permisssion.INTERNET"></uses-permission>
</manifest>
Run Code Online (Sandbox Code Playgroud)

以下是GetLocation Activity中我的onCreate方法中令人讨厌的代码行,包含在try/catch块中:

    LocationManager locManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
    final LocationListener locListener = new MyLocListener();

    try{
        locManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locListener);
    }
    catch (SecurityException se){
        ((TextView)findViewById(R.id.infobox)).setText(se.toString());
        se.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

这是我写的第一个应用程序,我需要请求Android权限,到目前为止,在获得任何权限方面都没有成功.在我的清单中或者在我的日食配置中是否有我遗漏的东西?

permissions gps android location android-manifest

17
推荐指数
3
解决办法
9万
查看次数

Android - 无法在模拟器上获取gps位置

我想在Android模拟器上使用gps,我有以下代码:

public class NL extends Activity {

 private LocationManager locmgr = null;

 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.nl);

        locmgr = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

        Criteria crit = new Criteria();
        crit.setAccuracy(Criteria.ACCURACY_FINE);
        String provider = locmgr.getBestProvider(crit, true);
        Location loc = locmgr.getLastKnownLocation(provider);


        Toast msg = Toast.makeText(this, "Lon: " + Double.toString(loc.getLongitude()) + " Lat: " + Double.toString(loc.getLatitude()), Toast.LENGTH_SHORT);
        msg.show();
    }
}
Run Code Online (Sandbox Code Playgroud)

我在清单上添加了以下行:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Run Code Online (Sandbox Code Playgroud)

并且我使用DDMS方法和geo fix方法设置gps位置,但是当我运行代码时,我在Toast行获得NullPointerExeption,可能导致loc为null.

我不明白错误在哪里......你能帮帮我吗?


UPDATE!

感谢您的帮助,现在我使用以下代码,我没有得到任何错误,但它没有运行onChangeLocation内的代码...它不运行Toast并且不返回日志中的任何消息!

 public class NL extends Activity {

        private LocationManager locmgr = null;

        @Override
        public void …
Run Code Online (Sandbox Code Playgroud)

java gps android android-emulator

8
推荐指数
2
解决办法
2万
查看次数

java.lang.SecurityException:需要ACCESS_FINE_LOCATION或ACCESS_COARSE_LOCATION权限

我正在开发一个Android,我希望使用NETWORK_PROVIDER获取用户位置,我没有使用GPS用于此目的.我得到以下异常

java.lang.SecurityException:需要ACCESS_FINE_LOCATION或ACCESS_COARSE_LOCATION权限

我正在使用以下代码.]

tx=(TextView) findViewById(R.id.textView1);
    lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 1000,
    10f, this);
    tx.setText("Status="+lm.isProviderEnabled(LocationManager.NETWORK_PROVIDER));
Run Code Online (Sandbox Code Playgroud)

和清单文件

<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".MainActivity" android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
</application>
Run Code Online (Sandbox Code Playgroud)

android geolocation

3
推荐指数
1
解决办法
1万
查看次数