android notification自动消失,Notification点击事件和点击消失

版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.csdn.net/u012691505/article/details/53004930

用到Notification遇到一些问题记录一下

1.Notification的点击事件(点击弹出对话框)

网上有很多做法,我的做法是:

(1)点击Notification跳转到一个Activity

(2)将Activity的主题设置为:类似android:theme="@style/Theme.AppCompat.Dialog"这样的Dialog样式,这样Activity就会以对话框的形式悬浮在另一个Activity之上。

(3)将Activity的背景设置为#80000000,使Activity背景类似透明

(4)在Activity里面设置Dialog弹出

(5)如果是自定义的对话框,设置代码可以参考下面的

final AlertDialog dialog = new AlertDialog.Builder(this).create();

dialog.show();

dialog.getWindow().setContentView(R.layout.notification_view);

TextView content= (TextView) dialog.findViewById(R.id.no_content);

content.setText(R.string.data_update);

dialog.getWindow().findViewById(R.id.no_download).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

Toast.makeText(UpdateTestActivity.this,"正在开始新数据下载",Toast.LENGTH_LONG).show();

dialog.dismiss();

finish();

}

});

dialog.getWindow().findViewById(R.id.no_cancel).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

dialog.dismiss();

finish();

}

});

2.点击一次消失

在网上看到一种方法:manager.cancel();我的结果是这个方法直接把notification干掉了,根本不显示。

推荐下面两种:

(1)设置一个flags就好notification.flags |= Notification.FLAG_AUTO_CANCEL;(一定要加这个"|",不然没效果)

(2)builder.setAutoCancel(true);

3.显示多个Notification时,点击任何一个跳转的都是同一个界面

这和PendingIntent.getActivity(context,intent,0);这个方法的第二个参数有关。Notification用在不同场景默认0是正确的,如果是同一场景下有多个,那就需要修改它的值。

4.android.view.WindowLeaked:异常

在执行AlterDialog的点击事件时,直接关掉Activity,没有先关闭dialog导致的窗体溢出异常

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值