1. 程式人生 > >fragment中使用百度地圖的兩個坑

fragment中使用百度地圖的兩個坑

最近在fragment中使用到百度地圖,中間出現了幾個坑,在這裡說一下。

第一個坑就是許可權請求結果無法獲取,經過白板折騰,發現小小變動一下即可,如下:

在Activity中使用的時候我們的程式碼如下:

ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
1);
我們在Fragment中申請時不是使用AcyivityCompat而是使用Fragment本身,程式碼如下:
HomeFragment.this.requestPermissions(new 
String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);

第二個就是初始化的問題:

  public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        //在使用SDK各元件之前初始化context資訊,傳入ApplicationContext
        //注意該方法要再setContentView方法之前實現
locationClient=new 
LocationClient(getActivity().getApplicationContext()); locationClient.registerLocationListener(new MyLocationListener());
View view = inflater.inflate(R.layout.fragment_home, container, false);ButterKnife.bind(this, view);return view;}