問題タブ [jobintentservice]

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 に答える
1793 参照

android - JobIntentService で呼び出されない onHandleWork()

アプリの実行中と起動時の両方で、AlarmManager を介して投稿されたインテントを処理する必要があります。インテントを処理するために JobIntentService のサブクラスを作成しましたが、期待どおりに動作しません: onHandleWork が呼び出されません。

私の実装は、バックグラウンド サービスの制限による起動時を除いて、ハンドラーが IntentService のときに機能しました。したがって、代わりに JobIntentService を使用しようとしています。

onStartCommand が呼び出されます。ドキュメントには、この方法は次のように記載されています。

pre-O サービスとして実行されているときに開始コマンドを処理し、後で onHandleWork(Intent) でディスパッチされるようにキューに入れます。

ここで「後で」が何を意味するのかわかりませんが、 onStartCommand が期待される意図で呼び出されたとしても、 onHandleWork は実際には呼び出されません。

同様の質問への回答を読み、他のメソッドをオーバーライドしないようにしました。また、正しいと思われるサービスのマニフェスト エントリを作成しました。そうしないと、onStartCommand が呼び出されません。

これは、AlarmManager で使用される PendingIntent を作成する方法です。

私が見逃しているものについてのアイデアはありますか?