日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

通知的各种实用写法技巧

發布時間:2023/12/16 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通知的各种实用写法技巧 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ? ? ?Notification的實用技巧

這里講下兩種寫法:廢話少說,直接上代碼。

第一種:

// 第一種彈出通知的方法@SuppressWarnings("deprecation")private void setpopnotification1() {// 首先拿到一個通知的管理者NotificationManager manager1 = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);// 設置沒有下拉時顯示的圖標和標題int icon1 = R.drawable.ic_launcher;CharSequence tickerText = "您有新的預約";// 顯示的時間int when = (int) System.currentTimeMillis();// 過時的寫法Notification notification = new Notification(icon1, tickerText, when);// 定義下拉通知欄時要展現的內容信息CharSequence contentTitle = "您的預約提醒";CharSequence contentText = "通知的內容在這里顯示了哦";Intent notificationIntent = new Intent(this, MainActivity.class);// 配合SingleTask// notificationIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK// | Intent.FLAG_ACTIVITY_CLEAR_TASK);PendingIntent contentIntent = PendingIntent.getActivity(this, 0,notificationIntent, PendingIntent.FLAG_CANCEL_CURRENT);notification.setLatestEventInfo(this, contentTitle, contentText,contentIntent);notification.flags = Notification.FLAG_AUTO_CANCEL;// 設置自動消失manager1.notify(1, notification);}


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??


第二種:

// 第二種彈出通知的方法private void setpopnotification2() {NotificationManager manager2 = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);NotificationCompat.Builder builder = new NotificationCompat.Builder(this);int icon = R.drawable.ic_launcher;// 設置沒有下拉時顯示的圖標和標題builder.setSmallIcon(icon);builder.setTicker("您有新的預約");// 設置點擊后自動消失builder.setAutoCancel(true);// 設置下拉后顯示的圖標builder.setLargeIcon(BitmapFactory.decodeResource(getResources(),R.drawable.ic_launcher));// 下拉后顯示內容標題builder.setContentTitle("您的預約提醒");// 顯示的內容builder.setContentText("通知的內容在這里顯示了哦");// 顯示時間builder.setWhen(System.currentTimeMillis());// 設置通知的優先級--Max代表不管手機目前有多少其他通知都能顯示在最上面builder.setPriority(Notification.PRIORITY_MAX);// 設置通知的鈴聲。震動。燈光// DEFAULT_ALL---默認系統全部// DEFAULT_SOUND--鈴聲// DEFAULT_VIBRATE--震動// ...builder.setDefaults(Notification.DEFAULT_ALL);// 點擊能跳轉部分Intent intent = new Intent(this, MainActivity.class);// 設置flag---FLAG_ACTIVITY_NEW_TASK保證每次都是最新的(項目中很實用)// 當點擊要跳轉時需要在清單文件中對activity進行啟動模式設置--一般都是singleTaskintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK| Intent.FLAG_ACTIVITY_CLEAR_TASK);// 給每個通知設置唯一的requestCode,保證每次的通知不重復,// 不然點擊時就會覆蓋之前的,點擊之前彈出的通知就沒有用/*** Flags為PendingIntent.FLAG_CANCEL_CURRENT,則只有最后一次PendingIntent有效,* 之前的都無效了。 PendingIntent.FLAG_UPDATE_CURRENT,則每次都是最新的。。具體的使用要看項目需求了*/int requestCode = (int) SystemClock.uptimeMillis();PendingIntent pendingIntent = PendingIntent.getActivity(this,requestCode, intent, PendingIntent.FLAG_CANCEL_CURRENT);builder.setContentIntent(pendingIntent);// 設置顯示manager2.notify(1, builder.build());}
上述兩種都可以使用顯示通知出來,建議使用第二種,畢竟第一種已經過時了。了解了基本用法結合項目需求來做會更好。

附上Demo地址:http://download.csdn.net/detail/ae_fring/9677156


總結

以上是生活随笔為你收集整理的通知的各种实用写法技巧的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。