• 締切済み

AndroidのgetSystemService

AndroidでGPS取得するプログラムを作成しています。 一度GPSの受信が正しくできたので、一部をクラス化しようと思いましたが 外だしすると、以下のコードでエラーになります。 mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); これは何が悪いのでしょうか?

みんなの回答

noname#161640
noname#161640
回答No.1

>一部をクラス化しようと思いましたが getSystemServiceは、ActivityかServiceに用意されているメソッドですので、これらを継承したクラスでないと呼び出せません。そのあたりはどう対処されていますか? 例えば、コンストラクタでLocationManagerを引数として渡すようにするなどしてはいかがでしょうか。

rinet8223
質問者

補足

もう少し詳しく教えて下さい。 あるActivityからサービスをbindして呼び出しています。そのサービスクラスの中に、getSystemServiceを含むメソッドがあり、onCreate部で、それを呼び出してもエラーになりません。 しかし、Activityから直接そのメソッドを呼ぶとエラーになってしまいます。この違いがわからなくて困って居ます。 > 例えば、コンストラクタでLocationManagerを引数として渡すようにするなどしてはいかがでしょうか。 これはどのように記述するのでしょうか?

関連するQ&A

専門家に質問してみよう