android notification自动消失,Notification点击事件和点击消失
版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載。https://blog.csdn.net/u012691505/article/details/53004930
用到Notification遇到一些問題記錄一下
1.Notification的點擊事件(點擊彈出對話框)
網(wǎng)上有很多做法,我的做法是:
(1)點擊Notification跳轉(zhuǎn)到一個Activity
(2)將Activity的主題設(shè)置為:類似android:theme="@style/Theme.AppCompat.Dialog"這樣的Dialog樣式,這樣Activity就會以對話框的形式懸浮在另一個Activity之上。
(3)將Activity的背景設(shè)置為#80000000,使Activity背景類似透明
(4)在Activity里面設(shè)置Dialog彈出
(5)如果是自定義的對話框,設(shè)置代碼可以參考下面的
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,"正在開始新數(shù)據(jù)下載",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.點擊一次消失
在網(wǎng)上看到一種方法:manager.cancel();我的結(jié)果是這個方法直接把notification干掉了,根本不顯示。
推薦下面兩種:
(1)設(shè)置一個flags就好notification.flags |= Notification.FLAG_AUTO_CANCEL;(一定要加這個"|",不然沒效果)
(2)builder.setAutoCancel(true);
3.顯示多個Notification時,點擊任何一個跳轉(zhuǎn)的都是同一個界面
這和PendingIntent.getActivity(context,intent,0);這個方法的第二個參數(shù)有關(guān)。Notification用在不同場景默認(rèn)0是正確的,如果是同一場景下有多個,那就需要修改它的值。
4.android.view.WindowLeaked:異常
在執(zhí)行AlterDialog的點擊事件時,直接關(guān)掉Activity,沒有先關(guān)閉dialog導(dǎo)致的窗體溢出異常
總結(jié)
以上是生活随笔為你收集整理的android notification自动消失,Notification点击事件和点击消失的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: axure8.0发布html,Axure
- 下一篇: java中methods方法_java中