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

如何开发安装后自动隐藏、可通过拨号盘指令启动的Flutter应用

Flutter 隐藏应用图标+拨号指令启动功能实现方案

注意:该方案仅适用于Android平台。iOS受系统沙箱机制限制,非越狱设备无法实现桌面图标隐藏、拨号事件监听的相关功能。

1. 核心逻辑拆分

  • 应用安装完成后动态关闭桌面入口图标
  • 注册系统广播监听拨号盘输入的指定秘钥
  • 收到匹配指令后唤起应用主页面

2. Android 原生端配置

2.1 实现图标隐藏

在Flutter项目的安卓模块中,通过PackageManager动态禁用启动页组件的LAUNCHER属性,即可隐藏桌面图标:

// 安卓原生侧隐藏图标逻辑(需在应用首次启动时调用)
fun hideAppIcon(context: Context) {
    val componentName = ComponentName(context, "com.your.packagename.MainActivity")
    context.packageManager.setComponentEnabledSetting(
        componentName,
        PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
        PackageManager.DONT_KILL_APP
    )
}

注:将com.your.packagename.MainActivity替换为你项目的实际启动页全类名

2.2 注册拨号指令广播接收器

在AndroidManifest.xml中添加秘钥广播监听的配置:

<receiver android:name=".SecretCodeReceiver">
    <intent-filter>
        <action android:name="android.provider.Telephony.SECRET_CODE" />
        <data
            android:host="04275"
            android:scheme="android_secret_code" />
    </intent-filter>
</receiver>

然后创建广播接收器类,收到匹配指令后启动应用:

class SecretCodeReceiver : BroadcastReceiver() {
    override fun onReceive(context: Context, intent: Intent) {
        if (intent.action == "android.provider.Telephony.SECRET_CODE") {
            val launchIntent = context.packageManager.getLaunchIntentForPackage(context.packageName)
            launchIntent?.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
            context.startActivity(launchIntent)
        }
    }
}

3. Flutter 端适配

通过Platform Channel调用原生侧的隐藏图标方法,在应用首次启动完成后触发即可:

// Flutter侧调用原生隐藏图标方法
static const platform = MethodChannel('com.your.packagename/utils');
Future<void> hideIcon() async {
  try {
    await platform.invokeMethod('hideAppIcon');
  } catch (e) {
    // 权限不足等异常处理
  }
}

4. 适配注意事项

  • Android 10及以上系统对静态广播的限制较低,当前配置可正常触发,若出现兼容性问题可改为动态注册广播
  • 小米、华为、vivo等定制ROM默认禁止应用隐藏图标,需引导用户手动开启「创建桌面快捷方式」等相关权限
  • 部分ROM对拨号秘钥的格式要求为*#*#xxxx#*#*,若直接输入*04275#无响应可调整为带*#*#的格式提升兼容性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 12:48:02