我确信这是一个简单的答案,但它让我发疯,我希望有人能让我摆脱痛苦。
我有一个 android 活动、小部件和服务。该服务在后台运行声音,无论是一段时间还是连续。因为我希望声音一直运行到停止,所以我在服务中没有 stopSelf() 方法。这对活动来说一切都很好而且很花哨,因为我让它在播放时启动服务,在停止时停止服务。现在我想在这个最新的更新中抛出一个小部件。所以这就是我卡住的地方。因为它是一个广播接收器,所以我的功能非常有限。我可以调用 context.stopService,但我只想在按下按钮时停止服务。我只能找到一种方法来设置带有 pendingIntent 的 onClickListener。
在我的服务的 onStartCommand() 方法中,我从传入的意图中额外读取了“循环”。所以我尝试只传入一个零值,但由于某种原因它似乎没有读取它。我知道 onStartCommand() 正在服务中被调用,因为音乐正在播放,但无论我在意图上添加了什么额外内容,它似乎都没有阅读它,我不知道为什么。所以我的问题是,使用小部件按钮停止服务的最佳策略是什么?我希望这是一个简单的答案,否则我想我可以创建一个新的活动或广播接收器来处理按钮单击,但这似乎没有必要。任何建议将不胜感激!谢谢!