我想创建一个全屏通知。我使用以下代码实现了一个通知。我需要做哪些更改才能使其成为全屏通知。
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)
您可以将简单通知转换为全屏通知,只需添加一行简单的代码即可,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)
尝试添加两者setStyle,setPriority如下所示:(它对我来说工作正常)
.setStyle(new Notification.BigTextStyle().BigText(message.Long_Message))
.setPriority((int)NotificationPriority.Max)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13233 次 |
| 最近记录: |