問題タブ [android-jobscheduler]
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.
android - Wi-Fi ネットワークが表示されたときに Android JobScheduler がジョブを開始しない
JobScheduler
Wi-Fi経由でサーバーに画像をアップロードするためにセットアップしようとしています。ここに私が設定したものがあります:
Wi-Fi ネットワークが利用できる場合、コンテンツを適切にアップロードします。しかし、それをオフにして、サービスを強制的にスケジュールしてから Wi-Fi をオンにすると、アップロードが開始されません。
私は何か間違っていますか?またはJobScheduler
、この目的ではなく、ネットワークの可用性のためにブロードキャストレシーバーを使用する必要がありますか? ありがとう。
android - GCM Network Manager - 定期的なタスクが起動しない
GcmNetworkManager を使用して、API レベル 17 まで実行されるアプリで定期的なタスクをスケジュールしようとしています。GCM Network Manager ページ ( https://developers.google.com/クラウド メッセージング/ネットワーク マネージャー):
私の AndroidManifest.xml には、次のものがあります。
私のアプリケーションには、次のものがあります。
そして、次のような MyService があります。
アプリを起動すると、期待どおりにonStartCommandがログに記録されますが、onRunTaskは呼び出されません。何か不足していますか?私は、(開始コマンドの発火によって証明されるように) 開始されると、15 ~ 30 秒ごとに実行されることを期待しています - それは正しい仮定ですか? まったく発射されないのはなぜですか?
ありがとう!
android - GCM Network Manager は Play 以外のデバイスでも動作しますか?
5.0 より前の Androidの代替としてJobScheduler
、Googleは Android 5.0 のネイティブな JobScheduler と古いもの用のカスタム コードを自動的に使用するGCM Network Managerをリリースしました。
ただし、Kindle や Blackberry 10、中国の携帯電話など、Play 以外のデバイス (Google Play Services のないデバイス) で動作するかどうかはわかりません。名前からして GCM に関係があるように見えるので、Play デバイスでしか動作しないのではないかと思います。
誰でもこれについて確認できますか?
android - Android でのバックグラウンド同期ジョブのスケジューリング (API > 15)
Android アプリケーションの定期的な同期ジョブをスケジュールする必要があります。厳密なスケジュール要件はありませんが、同期が 6 ~ 7 時間ごとに実行される限り問題ありません (ネットワーク接続がある場合)。compileSdkVersion を 22 として、minSdkVersion を 15(ICS) として使用しています。私が見つけることができる解決策がいくつかあります:
- AlarmManager (ネットワークの可用性を考慮しない)
- SyncAdapter (同期アカウントが必要)
- ジョブスケジューラ
- GcmNetworkManager
上記のうちどれが最良の候補で、その理由は?
android - JobScheduler が Job を 2 回投稿する (想定外)
JobScheduler のチュートリアルを書いていますが、奇妙な動作を見つけました。3 つの異なるジョブを 1 秒 (.setOverrideDeadline(1000)) でスケジュールするように要求しますが、それらはすべて送信され、2 回実行されます... コードは次のとおりです。
このコードを使用すると、ジョブが 1 回実行されることが期待されますが、取得したログを見ると、次のようになります。
このチュートリアルでは、1 つのジョブを HandlerThread で実行し、別のジョブを ExecutorService で実行し、最後に AsyncTask を使用してバックグラウンド スレッドで作業を行う方法を説明します。ジョブを同じスレッド (HandlerThread) でエンキューしたり、スレッドのプールを管理したり (ExecutorService)、管理されていないスレッドを使用したり (AsyncTask) したりするユースケースがあるため、このさまざまな手法を示します。
これらのジョブを定義し、MyApplication:onCreate メソッドでスケジュールします。コードを詳しく調べるために、GitHub に配置しました: https://github.com/MathiasSeguy-Android2EE/JobSchedulerForGitHub