1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > android notification自动消失 Notification点击事件和点击消失

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

时间:2022-04-20 19:39:44

相关推荐

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

版权声明:本文为博主原创文章,未经博主允许。/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导致的窗体溢出异常

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。