如何在Android下拉通知栏添加应用启动入口,支持Java或Flutter SDK实现?
Android下拉快捷栏/通知栏添加应用启动入口实现方案
你附上的截图对应场景如下:

两种技术栈均有成熟的可实现方案,你所需求的是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
相关产品推荐
相关产品推荐

