Как отобразить push-уведомление Android на экране блокировки? - PullRequest
0 голосов
/ 08 июня 2018

У меня проблема с отображением push-уведомлений на экране блокировки.Я могу получать уведомления, но не могу отобразить их на экране блокировки.

Notification notification;
notification = mBuilder.setSmallIcon(icon).setTicker(title).setWhen(0)
            .setAutoCancel(true)
            .setContentTitle(title)
            .setContentIntent(resultPendingIntent)
            .setSound(alarmSound)
            //.setStyle(new NotificationCompat.BigTextStyle().bigText(message))
            .setStyle(new NotificationCompat.BigTextStyle().bigText(message))
            .setWhen(getTimeMilliSec(timeStamp))
            .setSmallIcon(R.drawable.loader)
            .setLargeIcon(BitmapFactory.decodeResource(mContext.getResources(), icon))
            .setContentText(message)
            .setVisibility(NotificationCompat.VISIBILITY_PUBLIC) //to show content on lock screen
            .setPriority(NotificationCompat.PRIORITY_HIGH)
            .build();

NotificationManager notificationManager = (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(count, notification);

Я также пытался использовать PowerManager, но он только проснулся на экране блокировки, но не отображал уведомление на экране.

PowerManager powerManager = (PowerManager) mContext.getSystemService(POWER_SERVICE);

if (!powerManager.isInteractive()){ // if screen is not already on, turn it on (get wake_lock for 10 seconds)
    PowerManager.WakeLock wl = powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK |PowerManager.ACQUIRE_CAUSES_WAKEUP |PowerManager.ON_AFTER_RELEASE,"MH24_SCREENLOCK");
    wl.acquire(10000);
    PowerManager.WakeLock wl_cpu = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,"MH24_SCREENLOCK");
    wl_cpu.acquire(10000);
}

Поскольку я новичок в Android, я не могу решить эту проблему.Пожалуйста, помогите мне.

...