サービスを呼び出すmapActivityを拡張するアクティビティ「A」と、サービスを拡張するサービス「B」がもう1つあります。サービス「B」で緯度と経度を取得しています。次に、アクティビティ'A'のメソッドを呼び出して、緯度と経度を渡す必要があります。そのメソッドでは、場所を表示するコードがあります。前もって感謝します..
8 に答える
http://developer.android.com/reference/android/app/Activity.html#StartingActivitiesを参照してください。
startActivityForResult()
A アクティビティは、メソッドを使用して B アクティビティを開始する必要がありますsetResult()
B アクティビティは、実行する前に返されるデータ (緯度と経度) を設定する必要があります。finish()
onActivityResult()
A アクティビティは、B からデータを取得するためにオーバーライドする必要があります
2 つのアクティビティではなく、1 つのアクティビティと 1 つのサービスを使用しており、アクティビティとサービス間の相互作用が必要です。これを行うには、同じものに BoundService を使用します。詳細については、以下のリンクを参照してください。
http://developer.android.com/guide/components/bound-services.html
または、アクティビティでメッセンジャーを定義し、サービスからアクティビティにメッセージを送信できます。
アクティビティの一部のサービスを更新する必要があります。アクティビティを拡張するクラスはアクティビティです。したがって、あなたの場合、Bはサービスです
サービスからアクティビティを使用runnable
およびhandler
更新してみてください
そのクラス オブジェクトを作成し、特定のメソッドを呼び出す
インテントを使用するのが最も簡単で最良の方法です。アクティビティ A には、インテントを作成するための次のコードがあります。
Intent intent=new intent(this,B.class);
/アクティビティ B に送信する必要があるデータが処理された後/
/データを渡したい場合/
intent.putExtra("Data", data);
startActivity(i);
アクティビティ B では、次のように受け取ります。
Intent intent = getIntent();
String text = intent.getStringExtra("Data");
インテントを使用して相互に呼び出します
Intent i= new Intent (this,B.class);
startActivity(i);
その簡単な呼び出し方法
インテントは、アクティビティ間で短いメッセージを伝えるために使用されます。Intent を使用し、サービスからアクティビティを開始するためにエクストラを配置します。サービスからアクティビティを開始するには、追加のフラグも追加する必要があります。
ここに参照があります
http://developer.android.com/reference/android/content/Intent.html