2015-12-31 100 views
1

這是我的清單文件:的Android忽略清單權限

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.steff.barometer" > 

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <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> 

</manifest> 

於是我運行從Android Studio中的應用,並得到:

java.lang.SecurityException: Client must have ACCESS_FINE_LOCATION permission to request PRIORITY_HIGH_ACCURACY locations. 

我已經完全移除該應用從我的設備,另外,清理我的項目,並試圖重新部署,沒有什麼作品...

我使用的是Android 6的Nexus 5作爲測試設備,Android項目的SDK設置爲23

+0

您正在使用什麼版本的Android來測試運行? –

+0

嘗試添加此權限,'<使用權限android:name =「android.permission.ACCESS_COARSE_LOCATION」/>' –

+1

您試圖找到一個沒有互聯網許可的地方? – Brendon

回答

2

我認爲你正在使用marshmellow(API 23),因此你需要爲access_fine_location權限申請運行時權限。 做它以下列方式:

context.checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) 
       == PackageManager.PERMISSION_GRANTED && 
       context.checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) 
         == PackageManager.PERMISSION_GRANTED) 

    @Override 
    public void onRequestPermissionsResult(int requestCode, String[] permissions, 
              int[] grantResults) { 
     if (requestCode == MY_PERMISSIONS_REQUEST_CODE) { 
      Log.v("Toadways", "onRequestPermissionsResult"); 
      isPermissionRequest = false; 
     //your code 
} 

更多的信息查看以下鏈接:

http://developer.android.com/training/permissions/requesting.html

希望這有助於。

+0

較早的答案和更完整。 +1 – 323go

1

從Android 6.0(棉花糖,API級別23)開始,應用程序必須在運行時詢問用戶權限。

您仍然需要在清單中請求權限,但安裝應用程序時不再自動授予權限。

要了解有關運行時權限的更多信息(包括代碼示例),請查看Requesting Permissions at Run Time文檔。