1

ストーリーは次のとおりです。ブート時に起動し、指定された間隔でアクションを実行するアプリケーションを作成しました。それを達成するために、 を使用しAlarmManagerて繰り返しイベントを作成するサービスを作成BroadcastReceiverしています。これは、重い作業を行うことによって処理されます。サービスが破棄されると (ユーザーがアプリケーションを終了することを選択)、イベントをキャンセルする必要があるため、サービスはPendingIntent開始に使用されたものへの参照を保持する必要があります。

問題:サービスは、 へstartForegroundの参照を維持できるように、停止しないように呼び出す必要がありますPendingIntent。通知は常にステータス バーに表示され、ユーザーはそれを煩わしく感じています (正直なところ、私もそうです)。

次は何?理想的には、ステータスバーにアイコンを保持するが、ドラッグダウンリストには表示されないソリューションを探しています。このようにして、ユーザーはそれが実行されていることを認識し、スペースの無駄に悩まされることはありません。

いくつかの推測:再作成されたときに、使用中の参照を復元することは可能でしょうか? もしそうなら、どのように?このようにして、使用を避けることができstartForegroundました。それでも、ステータスバーにアイコンを表示する方法は?

それとも、誰かがより良い解決策を持っていますか?

4

1 に答える 1

0

まず、ずっと我慢する必要はありませんPendingIntent。必要なデータがすべて揃っている場合は、後で再作成して通知をキャンセルできます。まったく同じデータで再作成するだけです。

于 2011-09-08T07:48:46.267 に答える