2012-01-06 18 views
2

私は最近、Androidプラットフォームの開発を開始しました。現在、Googleタスクと同期するアプリケーションを使用しています。今、私は技術的に言えば、あまりにも多くの問題に直面していません。しかし、私は解決するための適切な方法を見つけることができないという概念的な問題を抱えています。Androidのベストプラクティス:Googleアカウントの存在を確認する最も良い方法は?

ユーザーが特定のGoogleアカウントで自分のアプリケーションを使用しているとします。彼はいくつかの活動を開始し、いくつかの作業をしてから、ホームボタンをクリックします。その後、OSの設定に行き、Googleアカウントを削除します。その後、彼は私のアプリに戻り、それは彼がアプリをやめたときに使っていた活動を表示します。

Googleアカウントがなくなったので、自分のアプリケーションでGoogleアカウントの選択や作成を許可するために、「アカウントを追加」アクティビティを提示する必要があります。もちろん、この時点でバックボタンをタップすると、彼はランチャーに送られるべきであり、バックスタックからの以前のアクティビティには送られてはいけません。

あなたはそのようなニーズにどのように対処しますか?

私は、アプリがフォアグラウンドに戻ったときに通知を受けることができると最初に思っていましたが、Androidは常にアクティビティを扱うように見えます。つまり、すべてのアクティビティに「アカウントチェッカー」を実装する必要があります。さらに、私がこれを実装しても、ユーザーがバックスタックに戻って、戻るボタンをタップしたときにランチャーにリダイレクトされないようにするにはどうすればよいですか?

あなたの中には、これに対処するためのアドバイスやいくつかのベストプラクティスがあります。

PS:Android 4搭載のGMailアプリをチェックしたところ、すべてのGoogleアカウントを削除してからアプリを起動すると、システムに「Googleアカウントの追加」というアクティビティが表示され、戻るボタンをタップするとランチャー。それはまさに私が実装したいと思う振る舞いです。私はこのアプリはオープンソースではないと思いますよね?

答えて

1

アクティビティがフォアグラウンドに来るときにonResumeが呼び出され、アクティビティがアクティビティのバックスタックにプッシュされたときにonPauseが呼び出されます。

あなたはいつでも返信でアカウントステータスを確認できます。私はあなたがアクティビティクラスを拡張し、その中にあなたのgoogleチェッカーを持っているBaseClassを作ることを勧めます。

ボタンのリスナーを登録することができる限り、バックボタンを無視することもできます(推奨されていませんが、sdkで許可されている場合)。

+0

onResumeとonPauseの入力をありがとう。 Activityクラスをサブクラス化するアイデアについては、ListActivityのようなフレームワークアクティビティサブクラスを使用できなくなったため、これは不可能です。 –

関連する問題