
# 自定义通知
**接口描述**
该接口用于自定义前台通知
**注意事项**
- 使用自定义通知将彻底替换默认通知，需要对应用进行充分测试，否则可能影响到前台服务的拉起。
**方法定义**
```
/**
```
```
* 设置自定义通知
```
```
* @param customNotification 自定义通知对象  
     * @param notificationId 通知id
```
```
*/
```
```
void setCustomNotification(Notification customNotification, int notificationId);
```
**参数描述**
| 参数                 | 是否必须 | 类型           | 描述      |
|:---|:---|:---|:---|
| customNotification | 是    | Notification | 自定义通知对象 |
| notificationId     | 是    | int          | 自定义通知id |
   
**示例代码**
```
shareServiceController.setCustomNotification(createNotification(), GlobalConstant.NOTIFICATION_ID);  
private Notification createNotification() {  
        // Android8.0以上的系统，新建消息通道  
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {  
            // 用户可见的通道名称  
            String channelName = getString(R.string.air_presence_app_name);  
            // 通道的重要程度  
            int importance = NotificationManager.IMPORTANCE_HIGH;  
            NotificationChannel notificationChannel =  
                    new NotificationChannel(GlobalConstant.CHANNEL_ID, channelName, importance);  
            NotificationManager notificationManager = getSystemService(NotificationManager.class);  
            if (notificationManager != null) {  
                notificationManager.createNotificationChannel(notificationChannel);  
            }  
        }  
  
        NotificationCompat.Builder builder = new NotificationCompat.Builder(this, GlobalConstant.CHANNEL_ID);  
        // 通知小图标  
        builder.setSmallIcon(R.drawable.ic_launcher);  
        // 通知标题  
        builder.setContentTitle(getString(R.string.ideashare_return_application));  
        // 通知时间  
        builder.setWhen(System.currentTimeMillis());  
        // 设定启动的内容  
        Intent activityIntent = new Intent(this, ProjectionActivity.class);  
        PendingIntent pendingIntent =  
                PendingIntent.getActivity(this,  
                        GlobalConstant.JUMP_BACK_CODE, activityIntent, PendingIntent.FLAG_UPDATE_CURRENT);  
        builder.setContentIntent(pendingIntent);  
        // 通知按钮  
        Intent stopShareIntent = new Intent(this, NotificationReceiver.class);  
        stopShareIntent.setAction(NotificationReceiver.ACTION_STOP_PROJECTION);  
        PendingIntent broadcastIntent =  
                PendingIntent.getBroadcast(this,  
                        GlobalConstant.STOP_SHARE_CODE, stopShareIntent, PendingIntent.FLAG_UPDATE_CURRENT);  
        builder.addAction(GlobalConstant.NO_ICON, getString(R.string.air_presence_stop_share), broadcastIntent);  
        // 创建通知并返回  
        return builder.build();  
    }
```
