問題タブ [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 - アプリが閉じられているかメモリから削除されているかに関係なく、ジョブを実行し、2 分ごとにプーリングを行います
私は android-priority-job-queue 'com.github.yigit:android-priority-jobqueue' を使用しています。2分ごとに実行されるようにします。以下はコードです
ただし、アプリが閉じられるか、メモリから削除されると、中断されます。アプリが閉じられているかメモリから削除されているときに、ジョブを継続的に実行し、2 分ごとにプーリングを行うにはどうすればよいですか。スティッキー サービスやandroid.permission.BIND_JOB_SERVICEのようなものはありますか?
サーバー プーリング システムの構築。上記の API 15 が必要です。
android - Android JobScheduler: 定期的な時間で同じジョブをスケジュールすると、その期間が再び開始されますか?
同じ定期ジョブ (同じジョブ ID) をスケジュールし、そのジョブが既にスケジュールされている場合はどうなりますか? 生理は最初からやり直しですか?
たとえば、このメソッドを 2 回呼び出します。
ジョブを 2 回スケジュールすると、定期タイマーが再びカウントを開始しますか?
android - Android 21以降でAPI +ジョブスケジューラを使用してSqliteデータベースを更新するには?
ジョブ スケジューラを使用して sqlite データベースを更新しようとしています。しかし、アプリを起動した瞬間にクラッシュし、ログにテーブルが見つからないと表示されます。誰かが私が間違っていることを教えてもらえますか?
android - JobService から結果を返すには?
私は Android で少し遊んでいて、アクティビティとサービスを備えた小さなアプリを書いています。アクティビティは、ボタンのクリックでサービスを開始し、URI からいくつかのデータをフェッチして、結果として返す必要があります。場合によっては、データが利用できないか、基準を満たしていないため、アクティビティがバックグラウンドであっても、サービスは X 分ごとに再試行する必要があります。
Intent
and ResultReceiver
(バンドルで渡される)を介して、アクティビティとサービスの間の通信を実装しました。サービスを実装するときに、新しいコンポーネントを使用したかったのですが、オブジェクト ( )を追加できず、基本型JobScheduler
しか受け入れられないことがわかりました。PersistableBundle
Parcelable
ResultReceiver
ネットワークが利用可能になったときに実行され、X 分ごとにデータをチェックするジョブをスケジュールするサービスが必要です。取得したら、データをサービスに返して、それが受け入れられるか、再試行する必要があるかを判断できるようにします。サービスがデータを受け入れると、 を介してアクティビティにデータが返されResultsReceiver
ます。
ResultsReceiver
と一緒に使用することはできません。また、インスタンスJobService
を作成しないため( によって行われる)、コールバック オブジェクトへの参照を渡すこともできません。JobService
JobInfo.Builder
スケジュールされたジョブとそれを呼び出したサービスとの間で通信するにはどうすればよいですか?
Androidに詳しくないので、些細なことでしたら申し訳ありません..
ありがとう!
java - Android jobScheduler が jobFinished(params, false) で停止しない
jobService を作成しようとしています。onStartJob() は次のようになります。
これは、ジョブを開始することになっているコードです。
私はそれを止めることができません。1〜5分ごとに発砲し続けます。jobFinished(params, false) を onStartJob() に入れ、タスクをコメントアウトして、開始直後に強制終了しようとしましたが、起動し続けます。onDestroy() が呼び出されてサービスが破棄されると、jobFinished() が何かを起動するようですが、同じ ID を持つ別のジョブが入ってきて、すべてバックアップを開始します。
すべての例が示すように、マニフェストに BIND_JOB_SERVICE があります。
jobFinished(params, false) が setPeriodic(60000) を強制終了していないように見える理由についてのアイデアはありますか?
android - Android - JobScheduler または BroadcastReceiver?
私の Android アプリでは、ユーザーがデバイスを接続するたびに何らかの作業を行う必要があります。この目的のために、現在、BroadcastReceiver を使用しています。これは、ユーザーがデバイスを接続したときに IntentService を開始して作業を行い、デバイスが接続されていないときに停止します。
現在、Android 5.0 以降で JobScheduler を使用することを考えていますが、JobScheduler を使用すると、アプリ内でジョブをスケジュールする必要があることがわかります。
しかし、ユーザーが自分のアプリを開かなくても、ユーザーが自分のデバイスを充電器に接続するたびにジョブを実行したいので、これは私にとって問題です。
このため、ユーザーがアプリを初めて開いたときにスケジュールを設定し、常に再スケジュールを強制するのが 1 つの方法だと思います。 、確かに起こりません)。
では、BroadcastReceiver を使い続けるか、Android 5.0 以降用の JobScheduler を使用する必要がありますか?
また、JobScheduler を使用する場合、再スケジュールを強制するために、ジョブを 1 回だけスケジュールしてから常に true を返す必要がありますか?
ありがとうございました。
android - Androidでは、onStopJobは常に呼び出されますか?
最初の JobService を実装しようとしています。への呼び出しonStartJob
が実質的に保証されていることを理解しています (はい、有効期限なしで法外な要件を指定すると、いくつかのエッジがあります)。しかし、どうonStopJob
ですか?呼び出されることは保証されていますか?
具体的には、バックグラウンドで実行されるジョブがあります。しかし、いつジョブが完了したかを知る方法があります (例: sharedPrefs)。onStopJob が呼び出されて、ジョブが完了したという通知をユーザーに送信するときに頼りたいと思っていました。
注: onStopJob は通知を送信するのに便利な場所です。再試行する必要があるかどうかを知るためにジョブが完了したかどうかを既に確認しているためです。
ps 役立つかもしれない考慮事項 (私もそれを検討しています): myonStartJob
が true を返した場合、システムは、呼び出されない限り、ジョブの実行が停止したことをどのように認識しますonStopJob
か?