0

アプリが実行されていないときでも、バックグラウンドで開いた接続を維持する必要があります。接続がサーバーと同じ LAN 内にあり、デバイスがインターネットに接続されていない可能性があるため、GCM を使用することはできません。接続はある種のローカル プッシュになるため、デバイスは (キープアライブ メッセージに加えて) 時々関連する短いデータを取得します。

私の使用例は非常に具体的であるため、バッテリーは問題ではないと考えることができます。機能を有効にするとバッテリーが消耗する、またはデバイスが充電されていない場合は機能を無効にするという大きな赤い警告が表示されることがあります。

一方、接続を伴うプロセスが Android によって「ランダムに」強制終了されないことは非常に重要です。

これをサービスで実装しようと思ったのですが、他の方の意見を聞きたいです。前述の制約を考慮すると、より良い方法があるかもしれません。

4

1 に答える 1

1

「アプリが起動していなくても」

これは、アプリが実行されておらず、プロセスがないことを意味します。アプリを目覚めさせるサードパーティのアプリ (GCM サービスなど) を使用しないと、何も届きません。

ただし、アクティブなままでサーバー (XMPP サーバーなど) への接続を維持するサービスを使用して、通知を受信し、特定のアクティビティを起動することができます。

別のアプリケーションでそれを行うこともできます。

たとえば、アラーム マネージャによって開始される通常のウォッチドッグで堅牢性を追加できます。

于 2013-04-23T14:00:09.227 に答える