java.lang.SecurityException异常:需要ACCESS_FINE_LOCATION或ACCESS_COARSE_LOCATION许可 [英] java.lang.SecurityException: Requires ACCESS_FINE_LOCATION or ACCESS_COARSE_LOCATION permission
本文介绍了java.lang.SecurityException异常:需要ACCESS_FINE_LOCATION或ACCESS_COARSE_LOCATION许可的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我发展,我想用NETWORK_PROVIDER获取用户位置的一个机器人,我没有使用此purpose.I GPS我收到以下异常
java.lang.SecurityException异常:需要ACCESS_FINE_LOCATION或ACCESS_COARSE_LOCATION许可
和我使用以下code]
TX =(的TextView)findViewById(R.id.textView1);
LM =(的LocationManager)getSystemService(Context.LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,1000,
10F,本);
tx.setText(状态=+ lm.isProviderEnabled(LocationManager.NETWORK_PROVIDER));
和清单文件
<应用机器人:图标=@绘制/图标机器人:标签=@字符串/ APP_NAME>
<活动机器人:MainActivityNAME =机器人:标签=@字符串/ APP_NAME>
&所述;意图滤光器>
<作用机器人:名字=android.intent.action.MAIN/>
<类机器人:名字=android.intent.category.LAUNCHER/>
&所述; /意图滤光器>
< /活性GT;
<使用许可权的android:NAME =android.permission.ACCESS_COARSE_LOCATION/>
<使用许可权的android:NAME =android.permission.ACCESS_FINE_LOCATION/>
<使用许可权的android:NAME =android.permission.ACCESS_NETWORK_STATE/>
<使用许可权的android:NAME =android.permission.INTERNET对/>
< /用途>
解决方案
的权限放在清单标签(未在应用标签)即
<?XML版本=1.0编码=UTF-8&GT?;
<清单的xmlns:机器人=http://schemas.android.com/apk/res/android
包=package.mypackage安卓版code =1机器人:=的versionName1.2>
<采用-SDK安卓的minSdkVersion =7/><应用机器人:图标=@绘制/图标机器人:标签=@字符串/ APP_NAME>
<活动机器人:MainActivityNAME =机器人:标签=@字符串/ APP_NAME>
&所述;意图滤光器>
<作用机器人:名字=android.intent.action.MAIN/>
<类机器人:名字=android.intent.category.LAUNCHER/>
&所述; /意图滤光器>
< /活性GT;< /用途>
<使用许可权的android:NAME =android.permission.ACCESS_COARSE_LOCATION/>
<使用许可权的android:NAME =android.permission.ACCESS_FINE_LOCATION/>
<使用许可权的android:NAME =android.permission.ACCESS_NETWORK_STATE/>
<使用许可权的android:NAME =android.permission.INTERNET对/>
< /清单>
I am developing an android where I want to get user location using NETWORK_PROVIDER,I am not using GPS for this purpose.I am getting following exception
java.lang.SecurityException: Requires ACCESS_FINE_LOCATION or ACCESS_COARSE_LOCATION permission
and I am using following code.]
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));
and manifest file
<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>
解决方案
The permissions are placed in the manifest tag (not in the application tag) i.e
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="package.mypackage" android:versionCode="1" android:versionName="1.2">
<uses-sdk android:minSdkVersion="7" />
<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>
</application>
<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" />
</manifest>
这篇关于java.lang.SecurityException异常:需要ACCESS_FINE_LOCATION或ACCESS_COARSE_LOCATION许可的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文