wjc
1 天以前 e7e48e1a65fdaa361e14e7e77e24043a63126bd6
app/src/main/java/com/hdl/photovoltaic/ui/me/AsRegardsActivity.java
@@ -1,23 +1,14 @@
package com.hdl.photovoltaic.ui.me;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import androidx.annotation.RequiresApi;
import androidx.core.app.NotificationCompat;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.linkpm.sdk.user.bean.NewVersionBean;
import com.hdl.photovoltaic.R;
@@ -29,16 +20,12 @@
import com.hdl.photovoltaic.other.HdlAppUpdateLogic;
import com.hdl.photovoltaic.other.HdlCommonLogic;
import com.hdl.photovoltaic.other.HdlThreadLogic;
import com.hdl.photovoltaic.ui.BPowerStationActivity;
import com.hdl.photovoltaic.ui.CPowerStationActivity;
import com.hdl.photovoltaic.ui.StartActivity;
import com.hdl.photovoltaic.utils.BadgeUtils;
import com.hdl.photovoltaic.widget.FlashingBoxDialog;
import com.hdl.photovoltaic.widget.apkwgtupload.ApkDownLoadService;
import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
import com.hdl.photovoltaic.widget.UpdateConfirmationCancelDialog;
import java.util.Map;
/**
 * 关于界面(app更新)
@@ -210,60 +197,4 @@
        }, this, ShowErrorMode.YES);
    }
    private void showCustomNotification(String title, String message, Map<String, String> data) {
        NotificationManager notificationManager =
                (NotificationManager) _mActivity.getSystemService(Context.NOTIFICATION_SERVICE);
        // 创建通知渠道(Android 8.0+)
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            createNotificationChannel(notificationManager);
        }
        NotificationCompat.Builder builder = new NotificationCompat.Builder(_mActivity, "fcm_channel")
                .setSmallIcon(R.drawable.notification_logo)
                .setContentTitle(title)
                .setContentText(message)
                .setAutoCancel(true)
                .setNumber(5)
                .setWhen(System.currentTimeMillis());
        // 设置点击意图
        Intent intent = createNotificationIntent(data);
        PendingIntent pendingIntent = PendingIntent.getActivity(
                _mActivity, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
        builder.setContentIntent(pendingIntent);
        // 显示通知
        notificationManager.notify((int) System.currentTimeMillis(), builder.build());
    }
    private Intent createNotificationIntent(Map<String, String> data) {
        Intent intent = new Intent(_mActivity, StartActivity.class);
        intent.putExtra("from_fcm", true);
        intent.putExtra("pushData", JSON.toJSON(data).toString());
//        if (data != null) {
//            for (Map.Entry<String, String> entry : data.entrySet()) {
//                intent.putExtra(entry.getKey(), entry.getValue());
//            }
//        }
//        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
        return intent;
    }
    @RequiresApi(api = Build.VERSION_CODES.O)
    private void createNotificationChannel(NotificationManager notificationManager) {
        NotificationChannel channel = new NotificationChannel(
                "fcm_channel",
                "FCM 消息",
                NotificationManager.IMPORTANCE_HIGH
        );
        channel.setDescription("Firebase Cloud Messaging 通知");
        // 启用角标
        channel.setShowBadge(true);
        notificationManager.createNotificationChannel(channel);
        BadgeUtils.setBadgeCount(_mActivity, 7);
    }
}