0

これは簡単な答えだと確信していますが、それは私を狂ったものにしています。誰かが私を悲惨さから救うことを望んでいます。Android:ウィジェットからサービスを管理する

私はアンドロイドの活動、ウィジェットとサービスを持っています。このサービスは、設定された時間、または連続して、バックグラウンドでサウンドを実行します。停止が当たるまでサウンドを実行したいので、サービスにstopSelf()メソッドがありません。これは、私はそれがstartServiceをプレイしていたので、これはすべて上質で素敵でした。stopServiceを停止してください。今私はこの最新のアップデートにウィジェットを投げたいと思っています。だからここに私は立ち往生している。それは放送受信機なので、私はそれができることに非常に制限されています。私はcontext.stopServiceを呼び出すことができますが、ボタンを押すとサービスを停止したいだけです。私はonClickListenerをpendingIntentで設定する方法しか見つけられません。

私のサービスのonStartCommand()メソッドでは、着信意図から余分な "ループ"を読みます。だから私はちょうど0の値を渡そうとしましたが、何らかの理由でそれを読んでいないようです。私は、音楽が再生されているので、onStartCommand()がサービスで呼び出されていることを知っていますが、余分なものを意図的にスローしても、それを読んでいないように見えます。だから私の質問は、ウィジェットのボタンからサービスを停止するために使用する最良の戦略は何ですか?私はそれが簡単な答えだと思っています、そうでなければ、私はボタンのクリックを処理するために新しい活動や放送受信機を作成することができたと思いますが、それはとても不要です。どんなアドバイスも大歓迎です!ありがとう!

答えて

1

PendingIntentウィジェットのボタンに渡すと、他のインテントと同じようにインテントエクストラを送信することができます。そのインテントをonStartCommandで検出し、サービスに停止して停止するように指示する必要があります自体。いくつかのコードがなければ何が間違っているのか分かりにくいです。

+0

私はそれを最終的に考え出しました。私は保留中の意図が正しくフラグが立てられていないので、追加情報は更新されていませんでした。しかし、迅速な対応に感謝します。 :) – Kamkat86