2012/09/26

onActivityResult が呼ばれた直後に onPause が走ることがある

先程、onActivityResult が呼ばれるタイミングについて調べて、記事を書きました。
穀風: onActivityResult が呼ばれるタイミング

しかし、ES File Explorer というアプリを呼び出した場合だけ、その挙動がおかしいのです。
以下がそのログです。(動かしたコードは先の記事を参照してください)
D/LifeCycleTest(26194): onSaveInstanceState
D/LifeCycleTest(26194): onPause
D/LifeCycleTest(26194): onStop

D/LifeCycleTest(26194): onActivityResult -1
D/LifeCycleTest(26194): onRestart
D/LifeCycleTest(26194): onStart
D/LifeCycleTest(26194): onResume
D/LifeCycleTest(26194): onSaveInstanceState
D/LifeCycleTest(26194): onPause
D/LifeCycleTest(26194): onResume

一度、onResume が呼ばれた後に、 onSaveInstanceState, onPause が呼ばれてもう一度 onResume が呼ばれています。
タイムスタンプは載せていませんが、時間がたって画面が消えたとか、そういうことではなく、一連の処理が連続的に走っています。

これ、ES File Explorer を使用した場合は、100%再現しています。(今のところ)

現在、原因を探っている最中ですが、もし何かご存知の方がいらっしゃいましたら、是非教えてください。

0 件のコメント: