全屏通知

Shr*_*ash 8 android

我想创建一个全屏通知。我使用以下代码实现了一个通知。我需要做哪些更改才能使其成为全屏通知。

    private void showNotification(String data) {

    Intent i = new Intent(this, MapsActivity.class);
    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

    PendingIntent pendingIntent = PendingIntent.getActivity(this,0,i,PendingIntent.FLAG_UPDATE_CURRENT);

    NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
            .setAutoCancel(true)
            .setContentTitle("FCM Test")
            .setContentText(data)
            .setSmallIcon(R.drawable.common_google_signin_btn_icon_dark)
            .setContentIntent(pendingIntent);

    NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

    manager.notify(0,builder.build());
}
Run Code Online (Sandbox Code Playgroud)

AXN*_*ies 8

您可以将简单通知转换为全屏通知,只需添加一行简单的代码即可,builder.setFullScreenIntent(pendingIntent, true);以下是完整示例。我希望这段代码对你有帮助

全屏通知代码:

        NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
        builder.setSmallIcon(android.R.drawable.btn_star);
        builder.setContentTitle("This is title of notification");
        builder.setContentText("This is a notification Text");
        builder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher));

        Intent intent = new Intent(Broadcastdemo.this, ThreadDemo.class);
        PendingIntent pendingIntent = PendingIntent.getActivity(this, 113,intent, PendingIntent.FLAG_UPDATE_CURRENT);

        builder.setContentIntent(pendingIntent);
        builder.setAutoCancel(true);

        builder.setFullScreenIntent(pendingIntent, true);


        NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        manager.notify(115, builder.build()); 
Run Code Online (Sandbox Code Playgroud)


Mik*_*ish 0

尝试添加两者setStylesetPriority如下所示:(它对我来说工作正常)

  .setStyle(new Notification.BigTextStyle().BigText(message.Long_Message))   
  .setPriority((int)NotificationPriority.Max)
Run Code Online (Sandbox Code Playgroud)