web-dev-qa-db-ja.com

フラグメント内のLocationManagerへの参照を取得する方法

Fragmentを拡張し、LocationListenerを実装するクラスがあります。私が書くとき

LocationManager myLocalManager =
(LocationManager)getSystemService(Context.LOCATION_SERVICE);

メソッドgetSystemServiceはFragmentのメソッドではないため、コンパイル時エラーが発生します。

LocationManagerを作成するにはどうすればよいですか?

15
malcolm the4

フラグメント内では、単にこれを呼び出します。

_LocationManager mgr = 
(LocationManager)getActivity().getSystemService(Context.LOCATION_SERVICE);
_

したがって、アクティビティを取得して、そこからgetSystemService()を呼び出すだけです。

編集:getActivityメソッドはAPI28以降非推奨になっているため、次のものを使用できます。

_LocationManager mgr = 
    (LocationManager)getContext().getSystemService(Context.LOCATION_SERVICE);
_
61
Rafael T

このコードスニペットを試してみてください。

コード:

LocationManager locationManager = (LocationManager)
getContext().getSystemService(Context.LOCATION_SERVICE);
0
ankit682