1

アクティビティがどこから起動されたかに応じて、アクティビティの動作をどのように変える(さまざまなメソッドを呼び出す)ことができますか?

ユーザーが曲を選択したとき、またはユーザーが「再生中」ボタンを押したときに起動されるアクティビティがあります。

理想的には、アクティビティaから曲が選択された場合、アクティビティbはサービスにバインドし、選択された曲を再生するようにサービスに指示します。

アクティビティaから[再生中]ボタンが選択されている場合、アクティビティbはサービスにバインドされますが、曲の再生を開始するようには指示されません。

これは、インテント、ブロードキャスト、または一連のifステートメントのいずれかを介して何らかの形で達成可能であることがわかりましたが、これを実装する最善の方法がわかりません。ご協力いただきありがとうございます。

4

2 に答える 2

2

ランチャーコンポーネント名(または一意の他の特定の文字列)を、Activityを開始するインテントにエクストラとして追加できます。次に、アクティビティでそのインテントを取得し(getIntent()を使用)、エクストラを取得します。次に、Switch-Caseを使用して何を行うかを決定します。やること。

于 2012-06-25T06:11:25.260 に答える
2

アクティビティBに送信するインテントで、曲を開始するかどうかを示すフラグ(またはその他の詳細)を追加できます。

したがって、アクティビティAでは:

Intent startBIntent = new Intent(this, ActivityB.class);
Bundle extraDetails = new Bundle();
extraDetails.putBoolean("isPlaySong", true);
startBIntent.putExtras(extraDetails);
startActivity(startBIntent);

次に、アクティビティBのonCreate()で、次のコマンドを使用して詳細を取得します。

Boolean isPlaySong = getIntent().getExtras().getBoolean("isPlaySong");
于 2012-06-25T06:18:36.993 に答える