You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Android下拉通知栏添加应用启动入口,支持Java或Flutter SDK实现?

Android下拉快捷栏/通知栏添加应用启动入口实现方案

你附上的截图对应场景如下:
图1 下拉快捷菜单
图2 快捷入口放置位置

两种技术栈均有成熟的可实现方案,你所需求的是Android 7.0及以上系统支持的快捷设置磁贴(Quick Settings Tile),即下拉通知栏顶部的快捷功能按钮,具体实现方式如下:

一、Android原生Java实现

实现步骤:

  • 第一步:在AndroidManifest.xml中注册自定义的Tile服务:
<service
    android:name=".MyAppTileService"
    android:label="我的应用"
    android:icon="@mipmap/ic_launcher"
    android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
    <intent-filter>
        <action android:name="android.service.quicksettings.action.QS_TILE" />
    </intent-filter>
    <!-- 可选:设置磁贴默认激活显示 -->
    <meta-data
        android:name="android.service.quicksettings.ACTIVE_TILE"
        android:value="true" />
</service>
  • 第二步:创建MyAppTileService.java类继承TileService,重写点击事件逻辑:
public class MyAppTileService extends TileService {
    @Override
    public void onClick() {
        super.onClick();
        // 启动应用主Activity
        Intent launchIntent = new Intent(this, MainActivity.class);
        launchIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivityAndCollapse(launchIntent);
    }
}

完成后用户可以在下拉快捷栏的编辑页面,将你的应用磁贴拖动到你标注的图2位置常驻显示。

二、Flutter实现

可以通过插件快速实现,无需单独写原生层代码:

  • 第一步:在pubspec.yaml中添加依赖:
dependencies:
  quick_settings_tiles: ^1.0.1
  • 第二步:同样参照原生方案在android/app/src/main/AndroidManifest.xml中注册Tile服务,之后在Dart层监听磁贴点击事件,触发应用启动逻辑即可。

如果你需要的是通知栏常驻通知入口而非顶部快捷磁贴,只需要发送一个不可清除的前台通知,将通知的点击PendingIntent设置为应用启动Intent即可。

注意事项

  • 部分国内厂商定制ROM会默认禁止第三方应用添加快捷磁贴,需要用户手动授权或者在快捷栏编辑页主动添加。
  • 快捷磁贴功能仅支持Android 7.0(API 24)及以上系统版本。

内容的提问来源于stack exchange,提问作者siya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 22:36:03