文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Android自定义Notification添加点击事件

2023-05-30 17:02

关注

前言

在上一篇文章中《Notification自定义界面》中我们实现了自定义的界面,那么我们该怎么为自定义的界面添加点击事件呢?像酷狗在通知栏 有“上一首”,“下一首”等控制按钮,我们需要对按钮的点击事件进行响应,不过方法和之前的点击设置不一样,需要另外处理,下面我将进行简单的说明。

实现

同样,我们需要一个Service的子类MyService,然后在MyService的onCreate中设置,如下代码:

public class MyService extends Service { public static final String ONCLICK = "com.app.onclick"; private BroadcastReceiver receiver_onclick = new BroadcastReceiver() {  @Override  public void onReceive(Context context, Intent intent) {   if (intent.getAction().equals(ONCLICK)) {    Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);    vibrator.vibrate(1000);   }  } }; @Override public void onCreate() {  super.onCreate();  Notification notification = new Notification(R.drawable.ic_launcher,    "JcMan", System.currentTimeMillis());  RemoteViews view = new RemoteViews(getPackageName(),R.layout.notification);  notification.contentView = view;  IntentFilter filter_click = new IntentFilter();  filter_click.addAction(ONCLICK);  //注册广播  registerReceiver(receiver_onclick, filter_click);  Intent Intent_pre = new Intent(ONCLICK);  //得到PendingIntent  PendingIntent pendIntent_click = PendingIntent.getBroadcast(this, 0, Intent_pre, 0);  //设置监听  notification.contentView.setOnClickPendingIntent(R.id.btn,pendIntent_click);  //前台运行  startForeground(1, notification); } @Override public IBinder onBind(Intent intent) {  return null; }}

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 资料下载
  • 历年真题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯