Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
授予权限后刷新谷歌地图(Android Java)_Java_Android - Fatal编程技术网

授予权限后刷新谷歌地图(Android Java)

授予权限后刷新谷歌地图(Android Java),java,android,Java,Android,我正在寻找一种添加“检测我的位置”按钮的方法。我设法添加了它,请求位置许可,但我有另一个问题,那就是当我授予许可时,我必须出去重新进入应用程序,以便我看起来一切正常,我留下了代码: package com.isaac.appet; import android.Manifest; import android.content.pm.PackageManager; import android.os.Bundle; import android.support.annotation.NonNul

我正在寻找一种添加“检测我的位置”按钮的方法。我设法添加了它,请求位置许可,但我有另一个问题,那就是当我授予许可时,我必须出去重新进入应用程序,以便我看起来一切正常,我留下了代码:

package com.isaac.appet;

import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.ActivityCompat;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

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.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;


public class FinderFragment extends Fragment implements OnMapReadyCallback {


    private GoogleMap mMap;

    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        return inflater.inflate(R.layout.finder_fragment, container, false);
    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        // Obtain the SupportMapFragment and get notified when the map is ready to be used.
        SupportMapFragment mapFragment = (SupportMapFragment) this.getChildFragmentManager()
                .findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);
    }

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

        if (ActivityCompat.checkSelfPermission(getActivity(), android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(getActivity(), android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
            ActivityCompat.requestPermissions(getActivity(),
                    new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
                    1);
            return;
        }

            mMap.setBuildingsEnabled(true);
            mMap.setIndoorEnabled(true);
            mMap.setTrafficEnabled(true);
            mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
            mMap.setMyLocationEnabled(true);

        mMap.setMyLocationEnabled(true);
        mMap.getUiSettings().setMyLocationButtonEnabled(true);
        mMap.getUiSettings().setZoomControlsEnabled(true);

        LatLng sevilla = new LatLng(37.3886303, -5.9953403);
        mMap.addMarker(new MarkerOptions().position(sevilla).draggable(true).title("Sevilla").snippet("Este es el marcador de Sevilla").icon(BitmapDescriptorFactory.fromResource(R.drawable.mapicon)));
        mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(sevilla, 15));
    }



}

如果您需要其他代码文件来查看它,请告诉我,我将使用代码对其进行编辑,以使您尽可能轻松地解决我的问题,这最终会很愚蠢,但我找不到它…

您可以通过覆盖onRequestPermissionsResult活动方法来处理授予权限的结果。您可以在此处阅读:

在获得许可后,您可以像这样重新启动活动

 Intent intent = getIntent();
            finish();
            startActivity(intent);