これを行うのは難しいですが正しい方法は、独自のカスタムContentProvider
を作成することです。 アプリの場合、Webサービスから受信したすべてのデータを更新し、このContentProvider
に通知をプッシュします 。 Activity
フォアグラウンドに戻り、ContentProvider
によって提供される新しいデータで自身を更新します 。
難しい カスタムのContentProvider
を作成するため 大変な作業です。 正しい これは、モバイルアプリケーションの動作とAndroidアーキテクチャに準拠しているためです。たとえば、ユーザーがWebサービスまたは計算量の多いタスクをアクティブにしてから、アプリを閉じたとします。または、プッシュ通知が到着し、アプリのデータを更新して表示する必要があると言います。どちらの場合も、アプリのActivity
sはフォアグラウンドではなくなっている可能性がありますが、Service
UI以外の操作を実行するために使用できます。その操作の最後に、Service
ContentProvider
を介してデータに変更を加えます 、およびユーザーがアプリを再度アクティブ化すると、Activity
■ContentProvider
から新しいデータを取得します 。
公式チュートリアルを引用するには:
コンテンツプロバイダーは、あるプロセスのデータを別のプロセスで実行されているコードに接続する標準のインターフェースです。
開発者は、ユーザーがいつでもアプリを呼び出して、いつでもそれを閉じることができると常に想定する必要があります。 Activity
かどうかに関係なく フォアグラウンドにあるかどうかにかかわらず、アプリのデータを正しく更新して維持する必要があります。
Google独自のアプリは、カスタムのContentProvider
を使用します s。 Gmail
特にアプリはそのContentProvider
を利用します ネットワーク接続が利用可能なときに新しい電子メールを取得し、電子メールをオフラインで表示します。 Facebook
、WhatsApp
&Twitter
AndroidアプリもContentProvider
を利用します s。