問題タブ [network-state]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
html - ネットワークが利用可能なときにオフラインの HTML5 アプリからアップロードする
うわー、私の問題は非常に一般的であるように思われるので、本当に明白なものを見逃しているに違いありませんが、次のようになります。
休止状態のオフライン HTML5 アプリをトリガー/スケジュールして、次のいずれかを実行する方法はありますか?
- ネットワークが利用可能になると、
- または定期的に。
配達の詳細 (商品の説明、受取人の名前、写真、タイムスタンプなど) を記録するオフライン HTML5 アプリを作成したいと考えています。データはローカル ストレージに書き込まれます (base64 に変換された写真)。アプリにネットワークがある場合、配信データはリモート サーバーにアップロードされます。アプリにネットワークがない場合、ユーザーがデバイスの電源を切っても、次にデバイスが起動してネットワークがあるときに、ユーザーによる操作なしでアプリがアップロードを実行する必要があります。
私は検索しましたが、何も見つかりませんでした。オフライン アプリは、フォアグラウンドでのみ実行されると思いますか? 誰かがそれを確認できれば、たとえそれが私が聞きたくないことであっても、少なくとも知っておくとよいでしょう.
ありがとう
android - PendingIntent で registerNetworkCallback を使用してネットワーク イベントをリッスンする
私が欲しいもの: インターネット接続の状態が OFF から ON に、またはその逆に変化したとき - アプリケーションがアクティブでない場合でも、サービスを停止/開始するためにすぐに知りたいです。保留中のインテントは呼び出し元のアプリケーションよりも長く存続する可能性があるため、これは達成可能だと思います。
私はこのように、オーバーロードされたバージョンを使用しようとしています:ConnectivityManager.registerNetworkCallback
PendingIntent
NetworkStatusReceiver
ネットワーク イベントに関連するインテントを受信することになっているブロードキャスト レシーバーがあります。
レシーバーを AndroidManifest.xml に登録します。
最後に保留中のインテントを作成し、ネットワーク コールバックとして登録します。
問題
インターネット接続が最初に OFFNetworkStatusReceiver
の場合 - ON になるとインテントを受け取ります。アプリケーションが強制終了された場合でも。わかりました、このように (OFF -> ON) 動作します。しかし!の時点でインターネット接続がアクティブな場合、 は即座にインテントを受け取りますregisterNetworkCallback
。NetworkStatusReceiver
コールバックは、何かが変更された場合にのみ呼び出されると思います。しかし、この場合、何も変化がなくてもすぐに呼び出されます。そのため、ON -> OFF イベントを追跡できません。
私が間違っていることは何ですか?この方法でもON -> OFFを追跡するにはどうすればよいですか? registerNetworkCallback
with の使用はあまり一般的ではPendingIntent
ないようで、その使用法に関する情報は非常に不足しています。