91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android 8.0實現發送通知的方法

發布時間:2020-07-30 09:34:40 來源:億速云 閱讀:280 作者:小豬 欄目:開發技術

這篇文章主要講解了Android 8.0實現發送通知的方法,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

在Android8.0以后,針對Notification 通知api做了修改,新增了通知渠道(NotificationCannel)。下面就把demo的詳細代碼記錄下:

1.Application 為NotificationManager添加通知頻道

import android.app.Application;

import com.xinrui.ndkapp.notification.NotificationChannels;

public class NdkApplication extends Application {
  @Override
  public void onCreate() {
    super.onCreate();
    NotificationChannels.createAllNotificationChannels(this);
  }
}

2.NotificationChannels 類

public class NotificationChannels {
  public final static String CRITICAL = "critical";
  public final static String IMPORTANCE = "importance";
  public final static String DEFAULT = "default";
  public final static String LOW = "low";
  public final static String MEDIA = "media";

  public static void createAllNotificationChannels(Context context) {
    NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);

    if(nm == null) {
      return;
    }

    NotificationChannel mediaChannel = new NotificationChannel(
        MEDIA,
        context.getString(R.string.app_name),
        NotificationManager.IMPORTANCE_DEFAULT);
    mediaChannel.setSound(null,null);
    mediaChannel.setVibrationPattern(null);

    nm.createNotificationChannels(Arrays.asList(
        new NotificationChannel(
            CRITICAL,
            context.getString(R.string.app_name),
            NotificationManager.IMPORTANCE_HIGH),
        new NotificationChannel(
            IMPORTANCE,
            context.getString(R.string.app_name),
            NotificationManager.IMPORTANCE_DEFAULT),
        new NotificationChannel(
            DEFAULT,
            context.getString(R.string.app_name),
            NotificationManager.IMPORTANCE_LOW),
        new NotificationChannel(
            LOW,
            context.getString(R.string.app_name),
            NotificationManager.IMPORTANCE_MIN),
        //custom notification channel
        mediaChannel
    ));
  }
}

3.發送通知

public void sendSimpleNotification(Context context, NotificationManager nm) {
    //創建點擊通知時發送的廣播
    Intent intent = new Intent(context, NotificationMonitorService.class);
    intent.setAction("android.service.notification.NotificationListenerService");
    PendingIntent pi = PendingIntent.getService(context,0,intent,0);
    //創建刪除通知時發送的廣播
    Intent deleteIntent = new Intent(context,NotificationMonitorService.class);
    deleteIntent.setAction(Intent.ACTION_DELETE);
    PendingIntent deletePendingIntent = PendingIntent.getService(context,0,deleteIntent,0);
    //創建通知
    Notification.Builder nb = new Notification.Builder(context, NotificationChannels.DEFAULT)
        //設置通知左側的小圖標
        .setSmallIcon(R.drawable.ic_notification)
        //設置通知標題
        .setContentTitle("Simple notification")
        //設置通知內容
        .setContentText("Demo for simple notification!")
        //設置點擊通知后自動刪除通知
        .setAutoCancel(true)
        //設置顯示通知時間
        .setShowWhen(true)
        //設置通知右側的大圖標
        .setLargeIcon(BitmapFactory.decodeResource(context.getResources(),R.drawable.ic_notifiation_big))
        //設置點擊通知時的響應事件
        .setContentIntent(pi)
        //設置刪除通知時的響應事件
        .setDeleteIntent(deletePendingIntent);
    //發送通知
    nm.notify(Notificaitons.NOTIFICATION_SAMPLE,nb.build());
 }

看完上述內容,是不是對Android 8.0實現發送通知的方法有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兰坪| 江口县| 元氏县| 九寨沟县| 闻喜县| 东乌珠穆沁旗| 黄冈市| 永新县| 新建县| 钟祥市| 木兰县| 湾仔区| 犍为县| 光山县| 正镶白旗| 姚安县| 乐昌市| 玛纳斯县| 海阳市| 新巴尔虎右旗| 江都市| 万州区| 通州区| 衡阳市| 沙湾县| 肥西县| 阳东县| 格尔木市| 林西县| 新蔡县| 柘荣县| 鹿邑县| 兴宁市| 嘉善县| 高邮市| 北辰区| 屏东市| 镇坪县| 仁怀市| 明溪县| 天祝|