8

バックグラウンドで現在地を送信するサービスを作成しました

ACTIVITYで、現在実行中のサービスのインスタンスにアクセスし、そのメソッドを呼び出すメソッドを作成したい

Methode を備えた位置情報サービスと言う

SendLocation()
{
/// to do 
}

アクティビティ A:

Service s = getCurrentRunningServiceInstance // このようなもの

そしてそのメソッドを呼び出します

s.SendLocation();
4

2 に答える 2

4

Serviceでメソッドを直接呼び出すことはできません。あなたがする必要があるbindのは、へServiceです。

Service、オーバーライドonBind()して有効な値を返してから、IBinderこれをクライアント/サーバー方式で使用します。

サービスのドキュメント、特にバインドされたサービスの作成に関するドキュメント、およびバインドされたサービスのドキュメントを参照してください。

于 2012-07-03T06:46:16.487 に答える
1

サービスのメソッド呼び出しはお勧めしません。これの代わりに、以下の手順に従ってください

1)アクティビティでBroadcastRecieverを作成します。

2)場所が変更されたときのサービスから、場所の追加情報を含むブロードキャストインテントを送信します。

3)アクティビティのReceiverからそれを聞き、それに応じてアクティビティを更新します。

于 2012-07-03T06:43:47.490 に答える