2010-11-23 20 views
2

私のアプリケーションでは、アプリに広告を表示するライブラリを使用しました。ユーザーが広告をクリックすると、ブラウザアプリが起動され、onClickイベントはライブラリ自体によって処理されます。Android:以前に表示された外部アクティビティを確認する

onPause()onStart()には、自分のアクティビティがバックグラウンドで送信されたかどうか(ユーザーがホームを押したかどうか)を検出するメソッドがあります。

アプリが新しく開いた(インスタンスが実行されていない)か、バックグラウンドから再度開くと、ダイアログボックスが表示されます。ユーザーが自分のアクティビティから切り替えているだけの場合、ダイアログボックスは表示されません。

ユーザーが広告をクリックすると、ブラウザアプリが読み込まれ、自分のアプリがバックグラウンドに送信されたことを意味するので、ブラウザを閉じるとダイアログボックスは表示されますそれはしないでください。

私のアプリケーションで以前に表示された外部アクティビティ(ブラウザ)を特定し、ダイアログボックスを表示しないことも可能ですか?

また、このような設定を実装する際に私が従うべきよりよいアプローチがありますか?

ありがとうございます。

答えて

1

あなたのアクティビティが以前のアクティビティであることを知る方法はないとは思いません。簡単な回避策は、ダイアログが表示された時間を節約し、時間が経過する前に再度表示されないようにすることです。アプリケーションの要件に基づいて、正確な期間を決定することができます。

これは実際には状況によってはより良いかもしれません。ユーザーがブラウザからアプリケーションに切り替わったときに、彼がアプリケーションを使用していた時間があった場合は、再度ダイアログを表示することが適切です。

+0

こんにちは、ユーザーがブラウザからアプリケーションに戻ったときにダイアログを表示しないという特定の要件です。したがって、以前の活動を判断する方法がないことは残念です。 –

0

あなたのアクティビティがバックグラウンドから戻ったときの動作を指定するために、onResume()メソッドを使用できます。

+0

私のアプリケーションのアクティビティを切り替えるときにonResume()が呼び出されるため、基本的にはonStart()内のロジックと同じロジックになります。 –

関連する問題