これは簡単な答えだと思いますが、それは私を夢中にさせ、誰かが私の悲惨さから私を追い出してくれることを願っています。
私はAndroidのアクティビティ、ウィジェット、サービスを持っています。サービスは、設定された時間または継続的に、バックグラウンドでサウンドを実行します。停止するまでサウンドを実行したいので、サービスにstopSelf()メソッドがありません。startServiceをプレイ中に、stopServiceを停止時に持っていたので、これはすべて問題なく、アクティビティにダンディでした。今、私はこの最新のアップデートでウィジェットを投げたいと思います。だからここで私は立ち往生しています。放送受信機なので、できることは非常に限られています。context.stopServiceを呼び出すことはできますが、ボタンが押されたときにのみサービスを停止したいと思います。私はpendingIntentでonClickListenerを設定する方法しか見つけることができません。
私のサービスのonStartCommand()メソッドでは、着信インテントから余分な「ループ」を読み取ります。そこで、ゼロの値を渡してみましたが、何らかの理由で読み取れないようです。音楽が再生されているため、サービスでonStartCommand()が呼び出されていることはわかっていますが、インテントに追加で何をスローしても、それを読み取っていないようで、理由がわかりません。だから私の質問は、ウィジェットのボタンからサービスを停止するために使用するための最良の戦略は何ですか?簡単な答えだといいのですが、そうでなければ、ボタンのクリックを処理する新しいアクティビティやブロードキャストレシーバーを作成できると思いますが、それは不要のようです。アドバイスをいただければ幸いです。ありがとう!