https://developer.android.com/training/monitoring-device-state/connectivity-monitoring.htmlConnectivityManager.CONNECTIVITY_ACTION放送受信機
ConnectivityManager.CONNECTIVITY_ACTIONは、Androidデベロッパーごとにアンドロイド7.0で静的に動作していないだろうが、それはアンドロイド
https://developer.android.com/training/monitoring-device-state/connectivity-monitoring.htmlConnectivityManager.CONNECTIVITY_ACTION放送受信機
ConnectivityManager.CONNECTIVITY_ACTIONは、Androidデベロッパーごとにアンドロイド7.0で静的に動作していないだろうが、それはアンドロイド
の古いバージョンでは機能しない理由あなたは、ネットワーク接続を監視する必要はありません。このユースケースではいつでも使用できます。ユーザーがあなたのアプリを使用しているときは、あなたが提供したリンクに従ってネットワークをチェックすることができます。接続していない場合は、JobScheduler
を使用してジョブをスケジュールし、jobInfoBuilder.setRequiredNetworkType(NETWORK_TYPE_ANY)
を使用すると、アプリケーションがバックグラウンドになってもネットワークに接続できるときにジョブが実行されます。ジョブは、保留中の変更をアップロードするサービスを起動するだけです。
また、ご使用のケースに合っている場合は、write a SyncAdapter
とするだけで簡単に同期をリクエストでき、システムのSyncManager
は適切な場合はSyncAdapter
を実行します。
ありがとうございます。私は、放送受信機のようなイベント駆動型を望んでいます。私のアプリでは、インターネットが接続されるたびに(アプリはバックグラウンドではない)通知を受け取ることができます。ジョブスケジューラアプリを使用してインターネット接続の通知をすることはできませんが、私はそれがイベント駆動されたいのですが、時間ベースでジョブをスケジュールします。 – User000
'JobScheduler' APIは、ジョブが時間ベースであることを私に全く示唆していません。たとえあなたのアプリがバックグラウンドにある場合でも、それは問題ではありません。あなたはすぐに接続があるとサーバーにアップロードする必要はありませんか? (あなたがオフラインで仕事をしているという事実は、その質問への答えがノーであることを示唆している) – Karakuri
ありがとう、API> = 21で働いてくれてありがとう。APIをサポートする方法<012 – User000
ほとんどの場合、ConnectivityManagerは償却されており、他のモデルと同じように新しいモデルでは機能しません。良い例はリサイクルビューアで、これは使用するSDKに応じて異なっています – MNM
私のアプリのネットワーク接続を監視したいのですが、アプリが実行されていなくても何か提案はありますか? – User000
@MNM 'ConnectivityManager'が推奨されなくなりました。また、 'RecyclerView'はプラットフォームの一部ではないため、使用しているプラットフォームのバージョンによって動作が異なります。これは別のライブラリであり、最終的にどのプラットフォームのバージョンで実行されても、APKにコンパイルされます。 – Karakuri