【问题标题】:Android Studio 在状态栏添加动作按钮
【发布时间】:2025-12-19 10:55:11
【问题描述】:

状态栏中有很多按钮(Wifi、蓝牙等),我如何在其中添加一个按钮,该按钮将连接到我的代码中的一个函数,这样当用户按下按钮时,该函数将被调用? (即使应用没有打开)Image of the buttons that I'm talking about

【问题讨论】:

标签: android statusbar


【解决方案1】:

您可以使用TileService 为您的应用添加自定义快速设置磁贴。

在 Manifest 文件中添加此代码:(确保将标签和图标放入代码中)

<service
    android:name=".MyQSTileService"
    android:label="@string/my_default_tile_label"
    android:icon="@drawable/my_default_icon_label"
    android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
    <intent-filter>
         <action android:name="android.service.quicksettings.action.QS_TILE" />
    </intent-filter>
</service>

并创建一个扩展 TileService 的 MyQSTileService.java 类: 您可以覆盖 TileService 类的各种方法以在各种事件中执行操作。在这里,我只是覆盖了 onClick 方法,当您的 qs 磁贴被单击时将调用该方法。

public class MyTileService extends TileService {

    @Override
    public void onClick() {
        // Perform your action here
        super.onClick();
    }
}

【讨论】:

  • 我想问这个答案的所有者一个问题,您是如何了解 TileService 的?是否有针对 android 中所有内容的课程,或者您是否阅读了所有文档,因为它是一个非常深入且具体的主题你给一些关于学习深度和细节主题的建议?我对 android 开发感兴趣 1 年,但我怎样才能像你一样更快地提高自己?
  • 我刚刚阅读了 android 文档。文档得到了一切,您可以在网上获得一些示例代码,以更好地了解事情是如何工作的。