Я пытаюсь использовать GPS в Android (2.2 и 2.3), но при попытке использовать объект LocationManager получаю следующую ошибку:
WARN / System.err (522): java.lang.SecurityException: для сети поставщика требуется разрешение ACCESS_FINE_LOCATION или ACCESS_COARSE_LOCATION
Я исследовал проблему в других сообщениях, и обычно они связаны с проблемами с 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>
Вот оскорбительная строка кода в моем методе onCreate в GetLocation Activity, заключенная в блок 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();
}
Это первое приложение, которое я написал, где мне нужно запрашивать разрешения Android и до сих пор не удавалось получить какие-либо разрешения. Есть ли что-то, чего мне не хватает в моем манифесте или, возможно, в моей конфигурации eclipse?