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導致的窗體溢出異常
總結
以上是生活随笔為你收集整理的android notification自动消失,Notification点击事件和点击消失的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: axure8.0发布html,Axure
- 下一篇: php pdo 关闭,php pdo预