fragment中使用百度地圖的兩個坑
阿新 • • 發佈:2019-01-27
最近在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=newView view = inflater.inflate(R.layout.fragment_home, container, false);ButterKnife.bind(this, view);return view;}LocationClient(getActivity().getApplicationContext()); locationClient.registerLocationListener(new MyLocationListener());