2011-10-25 8 views
1

私はデータを取得しているバックグラウンドサービスを実行しています。データを取得する前に、私は接続性をチェックしています。 WI-Fiや携帯電話のカバレッジがない場合、どのようにユーザーに通知する必要がありますか?Androidユーザーに通知する方法は接続できません

最初のことは私の頭を越えてPOP UP A DIALOGです。しかし、間違いを投げている。私はステータスバーの通知を持っていないことを好む。私はそれがあなたの顔のようなものにもっとなりたいと思っています。私の選択肢は何ですか?

+0

どうすればよいですか?私はデータを取得するために別のスレッドを実行しています。 ToastやDialogを追加すると、エラーが発生します。 – user533844

答えて

1

私があなたの場合は、Notification in the status barを使用します。そして、私はPendingIntentを通知に入れて、接続が確立したら操作を再試行できるようにします。

0

サービスが非常に重要であり、接続が失われたときにユーザーが知っておく必要があると思われる場合は、通知バーに通知を送信することのみが許容されます(ガイドラインによる)。

サービスからアクティビティやダイアログを開始しないでください。簡単に説明すると、ユーザーには10のサービスがあるとします。すべてのサービスがアクティビティまたはダイアログを開始すると、接続が失われたときに混乱することになり、間違いなくユーザーを怒らせるでしょう。考慮すべき別のシナリオは、接続が失われ、毎秒再取得される場合です。この場合も、少なくとも1つのサービスがユーザのアクティビティやダイアログを表示する必要があると判断した場合、デバイスはほとんど使用できなくなります。

ほとんどの場合、接続が失われたときに通知を送信しないでください。ユーザーは既に通知バーにWi-Fiアイコンと3G/4G/etcアイコンを表示しています。だから別のアイコンを追加すると重複した情報で通知バーが乱雑になります。

+0

:)良い点... – user533844

+0

OK。通知を受け取った場合は、接続時にプログラムで通知をクリアすることはできますか。私はそれがしばらくの間そこに座ることを望んでいないし、ユーザーは "これはいつだったか"知らないだろう... – user533844

+0

はい、できます。詳しくは、http://developer.android.com/guide/topics/ui/notifiers/notifications.htmlをご覧ください。 – inazaruk

関連する問題