0

現在の活動の背後で活動を開始できますか?サービスによってホームアクティビティ(ランチャー)を変更したいのですが、現在のフロントアクティビティは終了しています。どうすればこの問題を解決できますか?アクティビティスタックを変更できますか?

4

3 に答える 3

1

これはすべておかしなビジネスのように聞こえますが、最前線にあるアクティビティの複雑さに応じて、次のことを試すことができると思います。

  • 現在のアクティビティの状態を保存する (関連する場合)
  • 現在の活動を終了する
  • アニメーションなしで「背後」のアクティビティを開始する
  • アニメーションなしで終了したアクティビティを開始し、可視状態を復元します

すべてが一挙に急降下し、うまくいけば(グラフィックの不具合は別として)、これがあなたが求めているものの感触を提供するでしょう. 私は純粋な好奇心からこれを行うだけです。

于 2012-05-31T14:56:05.693 に答える
0

バックグラウンドでアクティビティを開始することはできません!

また、スタックを変更することはできないと思いますが、できることは、サービスからのインテントによって目的のアクティビティを開始することです。この場合、「アクティビティの開始」のように感じるはずです。

現在のアクティビティのコンテキストを取得することにより:

Intent serviceStartActivity = new Intent(getBaseContext(), anyActivity.class);
serviceStartActivity.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplication().startActivity(serviceStartActivity);
于 2012-05-31T12:10:26.570 に答える
0

ビューの上部にある限り、アクティビティは実行中です。そして、別のアクティビティが開始されるとすぐに、最初のアクティビティが一時停止および/または停止します。つまり、バックグラウンドでアクティビティを起動することはできなかったと思います。

于 2012-05-31T13:36:43.583 に答える