2016-11-20 25 views
0

我正在使用此代碼進行自定義通知。問題在於字符串中的整個文本以單行顯示。其次,沒有任何操作按鈕可見。通知欄中的操作按鈕未到達

 private void showNotification(String msg){ 
    //Creating a notification 
    NotificationCompat.Builder builder = new NotificationCompat.Builder(this); 
    builder.setSmallIcon(R.drawable.ic_alert); 
    builder.setContentTitle("Alert"); 
    builder.setContentText(msg); 
    builder.setAutoCancel(false); 
    builder.setPriority(NotificationCompat.PRIORITY_HIGH); 
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.google.com")); 
    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0); 
    builder.setContentIntent(pendingIntent); 
    //builder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher)); 

    builder.addAction(R.drawable.ic_call, "Accept", pendingIntent).build(); 
    // builder.addAction(R.drawable.ic_alert, "Reject", pendingIntent).build(); 
    NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
    notificationManager.notify(0, builder.build()); 


} 

回答

0

使用BigTextStyle與文本的多條線路和NotificationCompat.Action行動按鈕通知。

private void showNotification(String msg) { 
//Creating a notification 
NotificationCompat.Builder builder = new NotificationCompat.Builder(this); 
builder.setSmallIcon(R.drawable.ic_alert); 
builder.setContentTitle("Alert"); 
builder.setContentText(msg); 
builder.setAutoCancel(false); 
builder.setPriority(NotificationCompat.PRIORITY_HIGH); 
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.google.com")); 
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0); 
builder.setContentIntent(pendingIntent); 
builder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher)); 
builder.addAction(R.drawable.ic_call, "Accept", pendingIntent); 
// builder.addAction(R.drawable.ic_alert, "Reject", pendingIntent); 
builder.setStyle(new NotificationCompat.BigTextStyle().bigText(msg)); 
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
notificationManager.notify(0, builder.build()); 
} 
+0

我已經添加在這些代碼行,但仍然同樣的問題......... Notification.Builder BUIL =新Notification.Builder(本); ........ buil.setStyle(new Notification.BigTextStyle() .bigText(msg)); ......... new NotificationCompat.Action(R.drawable.ic_call,「CALL」,pendingIntent);你調用了[這個](https://developer.android.com/reference/android/support/v4/app/NotificationCompat.Builder.html#addAction(android.support.v4.app.NotificationCompat.Action))方法嗎? –

+0

在你的'NotificationCompat.Builder'上? –

+0

setStyle被通知類Notification.Builder調用buil = new Notification.Builder(this); –