2011-11-15 10 views
1

サーバーからAndroid端末にリクエストを送信する方法はありますか?実際には、私はアプリケーションを制御したい(アプリケーションのいくつかの機能を有効または無効にする)。 AndroidデバイスのIPアドレスは使用できますか?誰も私を導くことはできますか? ありがとうございました!サーバーからAndroidデバイスに連絡する

答えて

2

上記のオプションがあなたのケースに適していない場合は、アプリケーションに簡単なサービス を作成してから、アプリケーションにアタッチすることができます。

サービスは、適切な時間間隔でサーバーに要求を送信し、アプリケーションに対してチェックしたり実行したりすることができるかどうかを確認できるスレッドにすることができます。 また、バックグラウンドで実行することもできます。

+0

コメントありがとうございました!定期的にリクエストを送信しても、デバイスのバッテリ寿命に重大な影響はありませんか? – Senps

+0

実際にあなたのスレッドコントロールに依存します。時間間隔が1〜2秒のようにあまり頻繁でないなら、あなたは大丈夫でしょう。私のプロジェクトの1つにこの技法を実際に使用しています。 5分程度であり、ネット接続がない場合やスレッドを制御しているので、スレッドをスリープ状態にして消費量と消費量を減らすことができます。あなたが知ることができるバッテリー寿命には効果がありません。 –

+0

非常に役に立ちました、アドバイスをいただきありがとうございます。 – Senps

3

もっと簡単な方法は、電話に接続して機能を有効にするかどうかを尋ねることです。また、http://code.google.com/android/c2dm/のようなものを使用することもできますが、これがあなたのユースケースにとって過度のものかどうかはわかりません。

+0

ありがとうございました! 実際には、サーバーのユーザーがそれを可能にするときに特定の機能を有効にしたいと考えています。だから、電話は、すべての時間をHTTPリクエストを送信することはできません。それは、携帯電話のバッテリー寿命を減らす原因となります。私は正しいですか? – Senps

+0

あなたがそれを頻繁にやっていないなら、それは問題ではないはずです。また、一部のユーザーにとって、モバイルデータが高価になる可能性があるため、送受信されるデータの量を考慮に入れてください。 – Ivan

2

すべてのプッシュサービスは、通常、隠匿ポーリングとして実装されます。 3Gネットワ​​ーク上の電話機は通常、NATプロキシの後ろに位置し、外部からは見えません。ほとんどのwlanネットワークで同じことが言えます - C2DMを使うか、あなたが提供しているサーバーから自分のサービスポーリング設定情報を書きます

+0

アドバイスをいただきありがとうございます! – Senps

関連する問題