2012-01-09 12 views
0

私は3つのアクティビティがあり、Act1、Act2、Act3と呼ぶことができます。 Act1にはログインフォームがあり(ログインに成功するとAct2に行く)、2つのオプションがあります(1. Act3、いくつかの追加データでAct3に行く)。その後、ユーザーはAct3に進みます。Androidホーム画面からアプリを復元するときに、別のアクティビティに切り替える

もちろん、ユーザーがアンドロイドデバイスの「ホーム」ボタンを押すと、アプリケーションが最小化され、アンドロイドがメモリを使用する必要があるまでメモリに保持されます(この場合、アプリケーションは破棄されます)。しかし、ユーザが「ホーム」ボタンを押してからすぐにアプリケーションを開くと、アプリケーションは最小化される前にフォアグラウンドにあったアクティビティに復元されます。

私はアプリを最小限に抑えたいと思っていて、もう一度直してAct1にまっすぐ行くと、再度ログインするように促します。私は、Act2またはAct3でアプリケーションを再開できるようにしたくありません。

答えて

1

あなたのアプリケーションが実際にセキュリティに敏感でない限り、デフォルトの動作はユーザにとってより良いはずです。アプリケーションを起動するたびにログインとパスワードを入力するのは非常に面倒です。たとえば、ネイティブのGMailアプリケーションを考えてみましょう。オープンするたびに再認証する必要はありません。

あなたのアプリケーションが本当にその動作を必要とする場合(クレジットカードでも安全なものなど)、私の最初の推測はAct3のonPause()を処理し、そこからfinish()を呼び出すことです。 finish()を2回呼び出さないように注意してください(isFinishing()を参照)。

また、これはユーザーの期待を破っているため、アプリが迷惑にならないように、セキュリティのためにそのように動作することをユーザーに明確にします。

0

ユーザーがあなたのアクティビティから離れると(ホームボタンを押すなど)、最初にonPause()メソッドが呼び出されます。そこであなたのロジックを処理できるはずです(例えば、Act2またはAct3にfinish()を呼ぶ)。

編集:heh、yeah、彼が言ったこと:D

関連する問題