android - 无法解析权限符号

标签 android google-maps android-studio

我正在 Android Studio 中开发我的第一个应用程序,该应用程序使用 Google map 。我正在尝试检查 MapsActivity 中的权限,但收到“无法解析符号“ACCESS_FINE_LOCATION””。

我不知道为什么会发生这种情况,而且我有点力不从心。

这是 MapsActivity.java:

package com.example.i329968.mapstests;
import android.content.pm.PackageManager;
import android.support.v4.app.ActivityCompat;
import android.support.v4.app.FragmentActivity;
import android.os.Bundle;
import android.support.v4.content.ContextCompat;

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback
{

    private GoogleMap mMap;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_maps);
        // Obtain the SupportMapFragment and get notified when the map is ready to be used.
        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
    mapFragment.getMapAsync(this);
    }

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

        googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
        googleMap.setIndoorEnabled(true);
        // Add a marker in Sydney and move the camera
        LatLng sydney = new LatLng(-34, 151);
        mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
        mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));

        // mMap.setMyLocationEnabled(true);

        if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED)
        {
            mMap.setMyLocationEnabled(true);
        }
        else
        {
            // Show rationale and request permission.
        }
    }
}

在 AndroidManifest.xml 中我有:

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

提前致谢。

最佳答案

添加到您的代码:

import android.Manifest;

关于android - 无法解析权限符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39020667/

相关文章:

android - 将gms:play-services-auth升级到10.2.0时,任务 ':app:processDebugGoogleServices'的执行失败

android - 从移动应用程序调用文件管理器列表

java - 是否可以将 JVM 准备的 jar 文件转换为 Dalvik 兼容的 jar?

android - 为什么 volley 库不能在 android 9(API 28) 上工作,而在 android 8(API 27) 上工作正常?

java - 如何以编程方式将 Activity 主题化为对话?

javascript - Google Maps Javascript API 不响应 iOS 10 中的触摸事件

android - 强制 Android Studio 显示灯泡

android - 如何从Android上的给定地址获取纬度和经度?

java - 在 Android 中使用 google map api v2 时出错

android - Android Studio中如何使用Gradle生成JavaDoc?