1

が呼び出さActivityれたときに作成されたのインスタンスを取得する必要があります。startActivity()ただし、startActivity()void 値を返します。

が作成さstartActivity()れるまで待たないと思います。Activity

activityへの呼び出しで作成されたばかりの を取得する別の方法はありstartActivityますか? または、Activity自分でインスタンスを作成し、それを見つけられるようにどこかに登録することもstartActivityできます。

4

1 に答える 1

1

見ようとしているアクティビティは、自分のアプリですか、それとも別のアプリですか?

それらが両方ともあなたのアクティビティである場合、アクティビティは分離されたままにしておくべきですが、あなたがやろうとしていることをしても問題ないかもしれません. Fragments は親 Activity を介して相互に「通信」できるため、代わりに Fragments を使用することを検討してください。

どちらもアプリに含まれていない場合、別のアクティビティ インスタンスを取得することはできません。これは、定義上、別のプロセスにあるためです。さらに、大きなセキュリティ ホールになるため、Android システムがそれを防ぎます。

一般に、システム内の何かのインスタンスでない限り、独自のコンポーネントの外部にある何かのインスタンスを取得しようとする試みには少し目を細めます。コンポーネント間の通信は、インテント、バインドされたサービス機能、またはコンテンツ URI によって行う必要があります。インスタンスを渡すと、メモリ リークが発生する可能性があります。

于 2013-09-18T23:41:41.530 に答える