使用通知作为切换

Use notification as a toggle

我目前正在开发一个简单的手电筒应用程序。 我想要一个可以由用户按下并像手电筒开关一样工作的通知,这样用户就可以打开和关闭手电筒,即使应用程序在后台运行并且用户不可见。 我已经对通知进行了很多实验,但我唯一设法实现的是一个启动 activity 的通知,然后将其带到前台。 据我了解,通知只能启动活动。那么我怎样才能让 activity 留在后台,只打开手电筒 on/off?

As I understand it, notifications can only launch activities.

你错了。您可以使用 PendingIntent.getService.

启动服务
Intent notificationIntent = new Intent(mContext, HandleNotificationClickService.class);
PendingIntent pendingIntent = PendingIntent.getService(mContext, 0, notificationIntent, 0);

来源:Answer to "Start Service from Notification"

如果我没理解错的话,您可能还想使用 Builder.setOngoing 让您的通知在点击后保持可见。