0

非常によくある問題がありますが、それを解決するための適切な解決策/パターンを見つけることができませんでした。私のアプリケーションには、自動的に更新する必要がある 2 種類のデータがあります。

  • 一般的なデータ
  • ユーザー関連データ

ユーザーがログインしていない場合は、一般的なデータのみがダウンロードされて表示されます。ユーザーがログインしている場合は、そのユーザーのデータも処理されます。

これらのデータは、デバイスの起動時(アクションandroid.intent.action.BOOT_COMPLETEDがトリガーされた後)からWeb サービスから定期的にダウンロードする必要があります。私のアプリは SD に移動できるため、android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLEアクションにも登録する必要があります。

問題 1 : API レベル 11 (ハニカム)以降、すべてのアクションが停止状態のアプリケーションに送信されません。私はこれをよく理解していません.これは、アプリがインストールされたばかりで開かれていない場合、アプリがアクションをリッスンできないことを意味しますか? それとも、システムを再起動するたびに、アプリケーションの起動時にのみアクションがトリガーされるということですか?

問題 2 : アプリケーションが SD に移動された場合、SyncAdapters を実行できないため、一般的な戦略に頼らざるをBroadcastReceiverServiceませんAlarm。しかし、システムによって開始されないPendingIntentかどうかをどのように理解できますか? SyncAdapter(私はすでに によって を処理AccountしていますAccountManager

これらすべてを処理するライブラリを知っていますか? かなり奇妙に思えますが、これは一般的な問題ではありませんか?

4

1 に答える 1

1

Re:問題1、私が知る限り、ユーザーが初めて明示的にアプリを実行するまで、アプリは「生きている」わけではありません。その後、ユーザーがAndroidのアプリケーション管理設定で[強制停止]ボタンを使用して明示的に停止しない限り、その日が終わるまで「有効」のままになります。その後、アプリを手動で再実行して、ブロードキャストなどを受信できるようにする必要があります。

于 2013-03-14T14:03:27.583 に答える