問題タブ [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.

0 投票する
1 に答える
1320 参照

android - Wi-Fi ネットワークが表示されたときに Android JobScheduler がジョブを開始しない

JobSchedulerWi-Fi経由でサーバーに画像をアップロードするためにセットアップしようとしています。ここに私が設定したものがあります:

Wi-Fi ネットワークが利用できる場合、コンテンツを適切にアップロードします。しかし、それをオフにして、サービスを強制的にスケジュールしてから Wi-Fi をオンにすると、アップロードが開始されません。

私は何か間違っていますか?またはJobScheduler、この目的ではなく、ネットワークの可用性のためにブロードキャストレシーバーを使用する必要がありますか? ありがとう。

0 投票する
2 に答える
6735 参照

android - GCM Network Manager - 定期的なタスクが起動しない

GcmNetworkManager を使用して、API レベル 17 まで実行されるアプリで定期的なタスクをスケジュールしようとしています。GCM Network Manager ページ ( https://developers.google.com/クラウド メッセージング/ネットワーク マネージャー):

私の AndroidManifest.xml には、次のものがあります。

私のアプリケーションには、次のものがあります。

そして、次のような MyService があります。

アプリを起動すると、期待どおりにonStartCommandがログに記録されますが、onRunTaskは呼び出されません。何か不足していますか?私は、(開始コマンドの発火によって証明されるように) 開始されると、15 ~ 30 秒ごとに実行されることを期待しています - それは正しい仮定ですか? まったく発射されないのはなぜですか?

ありがとう!

0 投票する
1 に答える
849 参照

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 デバイスでしか動作しないのではないかと思います。

誰でもこれについて確認できますか?

0 投票する
1 に答える
585 参照

android - Android でのバックグラウンド同期ジョブのスケジューリング (API > 15)

Android アプリケーションの定期的な同期ジョブをスケジュールする必要があります。厳密なスケジュール要件はありませんが、同期が 6 ~ 7 時間ごとに実行される限り問題ありません (ネットワーク接続がある場合)。compileSdkVersion を 22 として、minSdkVersion を 15(ICS) として使用しています。私が見つけることができる解決策がいくつかあります:

  • AlarmManager (ネットワークの可用性を考慮しない)
  • SyncAdapter (同期アカウントが必要)
  • ジョブスケジューラ
  • GcmNetworkManager

上記のうちどれが最良の候補で、その理由は?

0 投票する
1 に答える
3668 参照

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