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

如何在三星设备上通过代码打开系统通知分类设置界面?

三星设备上打开通知分类设置界面的解决方案

我使用以下代码打开系统通知分类设置界面:

Intent settingsIntent = new Intent(Settings.ACTION_APP_NOTIFICATION_SETTINGS)
       .putExtra(Settings.EXTRA_APP_PACKAGE, getPackageName());

startActivity(settingsIntent);

该代码在绝大多数设备上都能正常打开通知分类设置界面,但在三星设备上会跳转到通用的应用设置界面,无法直接进入预期的通知分类页。

针对三星设备的适配方案如下:

  • 使用三星定制的Intent Action:com.samsung.android.app.settings.SETTING_APP_NOTIFICATION
  • 需同时传入应用包名和UID两个参数,UID可通过包管理器获取

完整兼容代码示例:

try {
    // 优先适配三星设备
    Intent samsungNotificationIntent = new Intent("com.samsung.android.app.settings.SETTING_APP_NOTIFICATION");
    samsungNotificationIntent.putExtra("package", getPackageName());
    // 获取应用UID
    int appUid = getPackageManager().getApplicationInfo(getPackageName(), 0).uid;
    samsungNotificationIntent.putExtra("uid", appUid);
    startActivity(samsungNotificationIntent);
} catch (ActivityNotFoundException e) {
    // 其他设备使用常规跳转逻辑
    Intent defaultIntent = new Intent(Settings.ACTION_APP_NOTIFICATION_SETTINGS)
            .putExtra(Settings.EXTRA_APP_PACKAGE, getPackageName());
    startActivity(defaultIntent);
}

说明

  • 代码采用兼容逻辑,优先尝试三星专属跳转,失败则 fallback 到通用方案,覆盖绝大多数设备场景
  • 必须捕获ActivityNotFoundException,避免因三星系统版本差异或非三星设备导致崩溃

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 19:12:08