2011-02-09 12 views
1

私はアンドロイドでリモートサービスを持っています。それは私のリストアクティビティにバインドされ、いくつかのメッセージを送信します。このサービスはスケジュールされたタスクを継続します。また、自分のサービスのリフレッシュ間隔も設定しています。私が望むのは、ユーザーがリフレッシュ間隔を変更したときにサービスを再開することだけです。 Butif私はonSharedPreferenceChanged()でそれを行い、リストのアクティビティから接続を失います。どうすれば解決できますか?ありがとう。Android:リモートサービスを再起動してもう一度バインドしてください

私はBroadcast Recieverを使用できることを知っています。別の方法がありますか?

答えて

0

私はアンドロイドでリモートサービスを持っています。

なぜですか?なぜ地元のサービスはありませんか?

このサービスでは、スケジュールされたタスクが継続されます。

なぜですか? AlarmManagerを使用しないと、サービスは単に時間の経過を見ながらRAMに座っているだけではありませんか?

私が欲しいのは、ユーザーがリフレッシュ間隔を変更したときにサービスを再開することです。

なぜですか? AlarmManagerスケジュールを変更するだけではどうですか?ローカルサービスを使用している場合、サービスではSharedPreferencessetOnSharedPreferenceChangeListener()を使用して、リフレッシュ間隔の変更を自動的に通知できます。

+0

私はリモートサービスを利用していますので、常にアクティブにしておきます。いくつかの便利なアクションを実行します... – Nick

+0

@Nick:まず、「常にアクティブ」なリモートサービスは必要ありません。第二に、ユーザーはあなたのサービスが常に「アクティブ」になることを望んでいないでしょう。第三に、OSはあなたが "常にアクティブな"サービスを持つのを妨げます。したがって、あなたが継続的に(つまり、1マイクロ秒ごとに)ユーザーに価値を追加しない限り、永続的なサービスを避けるためにアプリケーションを再設計することを強くお勧めします。 – CommonsWare

+0

ええと...私はadnroid開発の初心者ですが...メールサービスの仕組みを教えてください...それはいつも動作すると思います。ネットワーク接続がオンの場合、メールをチェックするためです。 – Nick

関連する問題