2016-11-14 4 views
0

Я создал простой андроид-студийный проект с активностью Google maps. Моя проблема начинается, когда я пытаюсь позвонить mMap.setMyLocationEnabled(true); -> ему нужно проверить разрешение на манифест, но у меня есть проблема с загрузкой разрешения на Manifest.permission.ACCESS_FINE_LOCATION. Не могу загрузить его, он красный.Загрузка разрешения из файла манифеста

Метод:

@Override 
public void onMapReady(GoogleMap googleMap) 
{ 
    mMap = googleMap; 

    if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) 
      == PackageManager.PERMISSION_GRANTED) { 
     mMap.setMyLocationEnabled(true); 
    } else { 
     Log.d("mes:", "error"); 
    } 
} 

Мой файл манифеста:

<?xml version="1.0" encoding="utf-8"?> 

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


<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 

    <meta-data 
     android:name="com.google.android.geo.API_KEY" 
     android:value="@string/google_maps_key"/> 
    <meta-data 
     android:name="com.google.android.gms.version" 
     android:value="@integer/google_play_services_version" /> 

    <activity 
     android:name="sei0055.placebook.MapsActivity" 
     android:label="@string/title_activity_maps"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN"/> 

      <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 
    </activity> 
</application> 

+2

Начиная с разрешения для Android 6.0, необходимо запросить и предоставить во время выполнения: https://developer.android.com/training/permissions/requesting.html - нет «проверки из манифеста» для опасных разрешений. Вы проверяете, но не запрашиваете. –

+0

«Не могу загрузить его, он красный» - если вы имеете в виду, что 'ACCESS_FINE_LOCATION' является красным, или что' Manifest.permission.ACCESS_FINE_LOCATION' является красным, вам нужно добавить соответствующий оператор '' import '' для 'android.Manifest .permission'] (https://developer.android.com/reference/android/Manifest.permission.html), как и любой другой Java-класс. – CommonsWare

+0

Я имею в виду ACCESS_FINE_LOCATION красный – JerryX

ответ

0

попробовать

if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) 
     == PackageManager.PERMISSION_GRANTED) {} 
Смежные вопросы