全屏意图不启动 Activity,但在 Android 10 上显示通知

2023-12-22

我尝试使用下一个代码启动广播接收器的活动

 Intent i = new Intent(context, AlarmNotification.class);
 i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { // This is at least android 10...

                NotificationManager mgr = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);

                if (mgr.getNotificationChannel(CHANNEL_WHATEVER)==null) {
                    mgr.createNotificationChannel(new NotificationChannel(CHANNEL_WHATEVER,
                            "Whatever", NotificationManager.IMPORTANCE_HIGH));
                }

                mgr.notify(NOTIFY_ID, buildNormal(context, i).build());

            }

private NotificationCompat.Builder buildNormal(Context context, Intent intent) {

    NotificationCompat.Builder b=
            new NotificationCompat.Builder(context, CHANNEL_WHATEVER);

    b.setAutoCancel(true)
            .setDefaults(Notification.DEFAULT_ALL)
            .setSmallIcon(android.R.drawable.ic_lock_idle_alarm)
            .setStyle(new NotificationCompat.BigTextStyle()
                    .bigText(TEXT)
            .setContentText(TEXT)
            .setFullScreenIntent(buildPendingIntent(context, intent), true);

    return(b);

}

private PendingIntent buildPendingIntent(Context context, Intent intent) {

    return(PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT));
}

一开始,一切都很好。但如果我进入应用程序设置,关闭CHANNEL_WHATEVER的通知通道,然后再次打开。稍后,当我调用NotificationManager.notify时,它会在通知抽屉中显示通知,但不会启动活动。如果我删除该应用程序并重新安装,它会再次正常工作。这是我应该报告的 android 10 的错误吗?或者我可以对此做些什么?


在Android 10中我们需要添加权限USE_FULL_SCREEN_INTENT

全屏意图的权限更改

  • 面向 Android 10 或更高版本并使用全屏意图通知的应用必须请求USE_FULL_SCREEN_INTENT他们的应用程序清单文件中的权限。

  • 这是正常权限,因此系统会自动将其授予请求的应用程序。

确保您已在清单文件中添加权限

示例代码

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.nilu.demo">

    <uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

全屏意图不启动 Activity,但在 Android 10 上显示通知 的相关文章

  • 调整添加的绘制组件的大小和奇怪的摆动行为

    这个问题困扰了我好几天 我正在制作一个特殊的绘画程序 我制作了一个 JPanel 并添加了使用 Paint 方法绘制的自定义 jComponent 问题是 每当我调整窗口大小时 所有添加的组件都会 消失 或者只是不绘制 因此我最终会得到一个
  • 在 RESTful Web 服务中实现注销

    我正在开发一个需要注销服务的移动应用程序 登录服务是通过数据库验证来完成的 现在我陷入了注销状态 退一步 您没有提供有关如何在应用程序中执行身份验证的详细信息 并且很难猜测您在做什么 但是 需要注意的是 在 REST 应用程序中 不能有会话
  • Antlr 解析器运算符优先级

    考虑以下语法 我对运算符优先级有疑问 例如 res 2 a b有一个类似的解析树res 2 a b 我知道问题出在哪里 但我没有想到没有相互左递归的 漂亮 解决方案 你能帮我一点忙吗 该语法与自定义访问者一起使用 grammar Math
  • 如何通过索引访问 JSON 对象中的字段

    我知道这不是最好的方法 但我别无选择 我必须通过索引访问 JSONObject 中的项目 访问对象的标准方法是只写this objectName or this objectName 我还找到了一种获取 json 对象内所有字段的方法 fo
  • 带有 Maven Wrapper 的 Java 17 导致无法识别的 VM 选项“MaxPermSize=512m”

    I use OpenJDK 17 https jdk java net 17 使用 Maven Wrapper 3 8 2 从春季初始化 https start spring io Maven项目 JAR打包 Java 17 Spring
  • 没有输入的 jQuery 日期选择器

    我有一个相当复杂的网络应用程序 我想向其中添加一些日期选择 UI 我遇到的问题是我无法从文档中弄清楚如何真正控制日期选择器的出现方式和时间 不涉及任何表单元素 不 我不会添加秘密表单字段 因此简单的开箱即用方法根本行不通 我希望有人可以提供
  • Pandas 与 Numpy 数据帧

    看这几行代码 df2 df copy df2 1 df 1 df 1 values 1 df2 ix 0 0 我们的教练说我们需要使用 values属性来访问底层的 numpy 数组 否则我们的代码将无法工作 我知道 pandas Data
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置
  • 现代编译器是否优化乘以 1 和 -1

    如果我写 template
  • Amazon RDS for SQL Server 是否支持 SSIS?

    从谷歌搜索中读到一些相互矛盾的答案 不确定答案是是 否还是可能 我觉得读的时候已经很清楚了this http docs aws amazon com AmazonRDS latest UserGuide CHAP SQLServer htm
  • GUI Java 程序 - 绘图程序

    我一直试图找出我的代码有什么问题 这个想法是创建一个小的 Paint 程序并具有红色 绿色 蓝色和透明按钮 我拥有我能想到的让它工作的一切 但无法弄清楚代码有什么问题 该程序打开 然后立即关闭 import java awt import
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat
  • 使用velocity.js制作可拖动元素的动画

    我正在使用velocity js 为用户拖动的可拖动 SVG 元素设置动画 然而 velocity js 将先前的 mousemove 坐标排队并通过所有后续的 mousemove 坐标进行动画处理 我想要的是velocity js 不要对
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使
  • 如何修复:“无法解析类型 java.lang.CharSequence。它是从所需的 .class 文件间接引用的”消息? [复制]

    这个问题在这里已经有答案了 我正在尝试使用这个字符串 amountStr amountStr replace replace replace 但我收到一条错误消息 我知道我收到的错误消息是因为我刚刚发布的字符串已过时 所以我想知道该字符串的
  • 如何在 JFreeChart 中设置多个系列的线条粗细?

    我创建了很多图表 在他们每个人中我都需要打电话 renderer setSeriesStroke i new BasicStroke 2 0f 对于每个系列 renderer is chart getXYPlot getRenderer 我
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前
  • Android 材料芯片组件崩溃应用程序。无法膨胀 xml

    Tried Chip来自两个支持库的组件 com google android support design 28 0 0 rc01和材料 com google android material material 1 0 0 rc01 堆栈
  • PyAudio ErrNo 输入溢出 -9981

    我遇到了与用户相同的错误 Python 使用 Pyaudio 以 16000Hz 录制音频时出错 https stackoverflow com questions 12994981 python error audio recording
  • 探查器模板可以迁移到较新版本的 SQL Profiler 吗?

    是否可以将 Profiler 模板迁移到较新版本的 SQL Server 就我而言 我想将 SQL 2008 模板带到 2012 年 我尝试过 1 直接文件复制和 2 导出 导入 在这两种情况下 旧模板都会运行 但无法修改 修改后会出现以下

随机推荐

  • NSMutableString appendString 的内存泄漏

    我正在使用 XMLParser 来解析一些 XML 数据 它使用 NSMutableString resultString 来存储标签字符 在每个 parser didStarElement 方法中 我分配并初始化 resultString
  • 任何域对象都应该不可序列化吗?

    有没有办法告诉编译器 我希望我的对象默认可序列化 几乎每个序列化引擎都想知道您的对象是否合适 这可以采取以下形式 Serializable ISerializable BinaryFormatter SoapFormatter Serial
  • 在 TWinControl 类上添加属性

    我想将已发布的属性添加到 TWinControl 中 有没有办法在不需要重新编译基本源代码的情况下做到这一点 如果没有 有什么方法可以重新编译基本源代码而不需要太多麻烦 谢谢建议 编辑因为新想法 好吧 我想做的就是尝试覆盖 System p
  • 如何防止 Python print 添加换行符或空格? [复制]

    这个问题在这里已经有答案了 在Python中 如果我说 print h 我收到字母 h 和换行符 如果我说 print h 我收到字母 h 并且没有换行符 如果我说 print h print m 我得到字母 h 一个空格和字母 m 如何防
  • 如何根据javascript中的键合并和替换两个数组中的对象?

    我有两个数组对象 arrayList1 arrayList2 只是我试图将这两个数组合并为一个数组对象 我使用的以下术语 根据键名将两个数组合并为一个数组是type arrayList2 的值将覆盖 arrayList1 我得到了预期的输出
  • 我们如何在 React Native 应用程序中设置 .env?

    我们如何设置 env在反应本机应用程序中 如何在react native中进行环境设置 我使用 react native dotenv 包 安装它并将 react native dotenv 预设添加到项目根目录下的 babelrc 文件中
  • XBAP 与 FireFox 和 Windows 7

    Firefox 依赖 NET 3 5 安装程序安装的扩展和插件来运行 XBAP 不幸的是 在 Windows 7 中已经安装了 NET 3 5 运行时 有谁知道如何获取这些插件 扩展 以便您可以实际将 XBAP 部署到 Windows 7
  • Flex:当文本太长时换行

    我在想是否可以使用css来实现以下功能flexbox 在布局中 原来有2个div彼此相邻 左侧包含一组图标并具有固定宽度 右侧包含文本 可能会很长 有没有办法 如何使用只有CSS 尤其是Flexbox 当文本太长时 div 会换行 在第一个
  • 别名可变原始指针 (*mut T) 是否会导致未定义的行为?

    mut T and mut T导致编译错误 这太棒了 两次可变借用在客观上是错误的 Is mut T and mut T未定义的行为还是这是完全有效的事情 也就是说 可变指针别名有效吗 更糟糕的是 mut T and mut T实际上编译并
  • 使计算属性依赖于 emberjs 中另一个对象的所有属性

    是否可以使一个属性依赖于另一个对象的所有属性 例如 也在jsfiddle中 http jsfiddle net xgZ94 2 html javascript App Em
  • Doctrine - 存储 ArrayCollection 键

    每当我将 ArrayCollection 与 Doctrine ORM 2 3 PHP gt 5 4 一起使用 并将对象值与集合中的键相关联时 例如当使用set方法 值被正确存储在数据库中 但是当我想从实体检索集合时 不会检索键 而是使用数
  • 如何使用 .NET Core 使用 UTC 时间验证 JWT

    目前我正在使用 JWT Bearer Authentication 编写 ASP NET Core WebApi 为了使 API 可以从不同时区访问 我使用以下模式来设置字段nbf 不是之前 和exp 过期 在我的 JWT 内到 UTC 时
  • 如何从 WPF 自动化 Microsoft Word 2003?

    我有一个 WPF 窗口 使用 C 作为后面的代码 其中有一些文本字段 我想要的是 当用户按下打印按钮时 我想获取这些字段上的信息并使用 Microsoft Word 2003 模板 该模板有一些空白字段 需要使用来自 WPF 窗口的这些信息
  • Spring拦截器中如何使用@ExceptionHandler?

    我正在使用 spring mvc 为客户端创建restful api 我有一个用于检查访问令牌的拦截器 public class AccessTokenInterceptor extends HandlerInterceptorAdapte
  • 如何检查矩阵中的每个值是否在R中其他两个矩阵中的对应值之间?

    我有一个矩阵 我想将其与其他两个矩阵进行比较 以查看矩阵中的每个条目是否包含在其他两个矩阵的值内或值之外 例如 如果我的矩阵是 gt M 1 2 3 1 0 1278982 0 4600544 1 3271033 2 0 1079272 1
  • 使用 Spring 在 Swagger UI 上收到 404 错误

    我正在将 swagger UI 与 Spring boot 应用程序集成 当我点击 swagger ui html 时 我收到 404 错误 我的配置类如下 Configuration EnableSwagger2 Import Swagg
  • 有条件地从列表中获取总和

    我有一个类属性详细信息 public class PropertyDetails public int Sequence get set public int Length get set public string Type get se
  • NightwatchJS 和 WebdriverIO 有什么区别?

    正如标题所述 Nightwatch js 和 Webdriver io 有什么区别 看起来它们具有相同的语法并且做几乎相同的事情 它们有何不同 我需要在他们之间做出选择 我已经多次使用这些工具编写了测试套件 Webdriver io 允许您
  • 出现错误 - 运行本机反应时无法识别的命令“run-android”,

    当尝试在我的模拟器上运行本机反应时 我收到此错误 react native run android 错误无法识别的命令 run android 我的模拟器已连接并且正在运行 有什么想法吗 包 json name iaapp version
  • 全屏意图不启动 Activity,但在 Android 10 上显示通知

    我尝试使用下一个代码启动广播接收器的活动 Intent i new Intent context AlarmNotification class i setFlags Intent FLAG ACTIVITY NEW TASK Intent