Android 通知上有按钮

2024-06-07

我正在尝试使用 2 个按钮发出通知:

  • 一个带我回到活动
  • 另一个将其关闭

有谁知道如何捕获按钮单击事件(请记住活动已暂停)?


我很高兴发布它!经过一夜的工作,我发现了一些东西。那么,我们开始吧!

1. 为您的通知创建 xml 布局文件。

2. 使用Notification.Builder 创建通知。添加您想要的所有内容(图标、声音等)后,执行以下操作:

        //R.layout.notification_layout is from step 1

        RemoteViews contentView=new RemoteViews(ctx.getPackageName(), R.layout.notification_layout);

        setListeners(contentView);//look at step 3

        notification.contentView = contentView;

3. 创建方法setListeners。在这个方法中你必须这样写:

    //HelperActivity will be shown at step 4

    Intent radio=new Intent(ctx, packagename.youractivity.class);  
    radio.putExtra("AN_ACTION", "do");//if necessary

    PendingIntent pRadio = PendingIntent.getActivity(ctx, 0, radio, 0);
    //R.id.radio is a button from the layout which is created at step 2  view.setOnClickPendingIntent(R.id.radio, pRadio); 

    //Follows exactly my code!
    Intent volume=new Intent(ctx, tsapalos11598712.bill3050.shortcuts.helper.HelperActivity.class);
    volume.putExtra("DO", "volume");</p>

    //HERE is the whole trick. Look at pVolume. I used 1 instead of 0.
    PendingIntent pVolume = PendingIntent.getActivity(ctx, 1, volume, 0);
    view.setOnClickPendingIntent(R.id.volume, pVolume);

4. 对于我的要求,我使用了一个响应意图的 HelperActivity。但对于你来说我觉得没必要。

如果您想要完整的源代码,您可以浏览它或从我的 git 存储库下载。该代码仅供个人使用,因此不要指望阅读带有大量注释的华丽代码。https://github.com/BILLyTheLiTTle/AndroidProject_Shortcuts https://github.com/BILLyTheLiTTle/AndroidProject_Shortcuts

以上,回答了从不同按钮捕获事件的问题。

关于取消通知,我将您重定向到此处

如何清除 Android 中的通知 https://stackoverflow.com/questions/2665634/how-to-clear-a-notification-in-android

只需记住使用您第一次调用通知时在通知方法中解析的 id

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

Android 通知上有按钮 的相关文章

随机推荐

  • 如何在 Hibernate 中使用 SELECT 进行 INSERT

    我需要在休眠中实现以下请求 insert into my table max column values select max id from special table where 如何在休眠中使用注释来做到这一点 Special tab
  • c++ - <未解析的重载函数类型>

    在我的班级里叫Mat 我想要一个将另一个函数作为参数的函数 现在我有下面 4 个函数 但是在调用 print 时出现错误 第二行给了我一个错误 但我不明白为什么 因为第一行有效 唯一的区别是功能f不是班级成员Mat but f2是 失败的是
  • 如何重启ngOnInit来更新Interpolation

    有办法重新启动吗ngOnInit 改变变量时 因为我想重新开始ngOnInit 改变时theme多变的 这是我的代码 设置 ts export class SettingsPage implements OnInit phraseColor
  • 将 .sql 文件导入 SQLite

    我正在尝试将大型 sql 文件导入 SQLite db 文件 但出现以下错误 sqlite gt read smsCorpus en 2012 04 30 sql Error near line 23 near COMMENT syntax
  • 查找数组中的多个索引

    假设我有一个像这样的数组 string fruits watermelon apple apple kiwi pear banana 是否有一个内置函数可以让我查询 apple 的所有索引 例如 fruits FindAllIndex ap
  • 为什么这个触发器会失败?它说无效标识符

    CREATE MATERIALIZED VIEW ORDERS MV BUILD IMMEDIATE REFRESH COMPLETE ON DEMAND AS SELECT FROM ORDERS CREATE OR REPLACE TR
  • python:xml.etree.ElementTree,删除“命名空间”

    我喜欢 ElementTree 解析 xml 的方式 特别是 Xpath 功能 我有一个带有嵌套标签的应用程序的 xml 输出 我想按名称访问此标签而不指定名称空间 这可能吗 例如 root findall molpro job 代替 ro
  • 如何为Android设置图像顶部和底部相同的大小?

    我想在中心 顶部和底部显示相同尺寸的图像 请参阅下面的屏幕 有人知道请给我代码 谢谢大家 Use android scaleType centerInside or ImageView setScaleType ImageView Scal
  • jquery load() 去除脚本标签 - 解决方法?

    有谁知道 jquery load 的解决方法 去掉从外部内容加载的脚本标签 有很多文档证明这种情况发生 但在网上搜索了大约 4 个小时后我找不到解决方法 我正在加载动态生成的 div 类似于搜索结果页面 并且需要将 click 绑定到每个动
  • 如何在 Android 中通过 gradle 列出 buildConfig 中的所有类型

    这是一个简单的 gradle 具有三种风格 apply plugin com android application android compileSdkVersion 23 buildToolsVersion 23 0 2 default
  • Matplotlib:检查空图

    我有一个循环加载并绘制一些数据 如下所示 import os import numpy as np import matplotlib pyplot as plt for filename in filenames plt figure i
  • 从 Go Slice 中选择一个随机值

    情况 我有一些值 需要从中随机选择一个值 然后我想将它与固定字符串连接起来 到目前为止 这是我的代码 func main create the reasons slice and append reasons to it reasons m
  • Mac 上的 JavaFX WebView 字体问题

    有些网站显示乱码而不是正确的文本 它只发生在 Mac 上 For example with GMapsFX 可能与 OS X 10 11 或 10 12 有关 我用Java 1 8 0 121测试了它 此问题有任何修复或解决方法吗 就我而言
  • 访问影子 DOM 中的元素

    是否有可能查找 Shadow DOM 中的元素与蟒蛇硒 示例用例 我有这个input with type date
  • 通过 Angular 4 进行的 Bootstrap 4 轮播的动态填充不显示图像

    我试图通过 ngFor 迭代包含图像 url 的字符串数组来动态填充 Bootstrap 4 轮播 轮播不显示图像 尽管查看生成的标记一切看起来都很好 我猜测该组件是在 Angular 添加每张幻灯片的 div 之前渲染的 因为 轮播幻灯片
  • Scalaz 状态 monad 示例

    我还没有看到很多 scalaz 状态单子的例子 有这个例子 http scalaz github com scalaz scalaz 2 9 1 6 0 2 doc sxr scalaz example ExampleState scala
  • 如何防止 Lotus Notes 用户转发或复制通过 System.Net.Mail 发送的邮件?

    我想使用 SMTP 客户端 uiing microsft net 以 C 作为编程语言发送电子邮件 但是对于通过SMTP客户端发送的电子邮件 我们是否可以添加 禁止转发 或 禁止复制 等安全功能 我不希望电子邮件的收件人转发或复制电子邮件的
  • C# 多维数组解析

    我有一个多维数组 内容在调试器中看起来像这样 数组设置为 String s new String 6 4 A B Yes C A B Yes C A B No C A B Yes C A B Yes C A B Yes C A B No C
  • 如何实现rtk的createApi查询去抖

    有人可以帮助我使用 creatApi 和 redux 工具包中的查询实现来实现去抖功能 提前致谢 我个人在 RTK 查询中没有发现任何开箱即用的去抖动实现 但你可以自己实现 定义一个api 我正在使用 openlibrary 的一个 imp
  • Android 通知上有按钮

    我正在尝试使用 2 个按钮发出通知 一个带我回到活动 另一个将其关闭 有谁知道如何捕获按钮单击事件 请记住活动已暂停 我很高兴发布它 经过一夜的工作 我发现了一些东西 那么 我们开始吧 1 为您的通知创建 xml 布局文件 2 使用Noti