我正在构建一个服务,以便在智能手机锁定时向用户发送一些通知。
如果我尝试启动我的应用程序,我没有任何问题,我可以看到此消息通知但我无法阅读所有文本。
正如您所看到的,第一条消息是:
AttivitàInsufficiente Svolgialpiùprestol'attivitàfisicaPallavolo! ! Clicca su questa notifica per avviare l'esercizio ...
但我只能看到:
AttivitàInsufficiente Svolgialpiùprestol'attivitàfisicaPallavolo! ! Clicca su ..
正如您所见,文字已被删除。
现在是我用来发送通知消息的代码:
void readNotifications(){
List<NotificationMessage> messages = db.getAllNotificationMessages();
for (NotificationMessage messageCurr:messages) {
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(getBaseContext());
if(messageCurr.getTypeId() == NOTIFICATION_GREEN) {
mBuilder.setSmallIcon(R.drawable.notification_green);
mBuilder.setContentTitle("Continua cosi!");
}
else {
mBuilder.setSmallIcon(R.drawable.notification_red);
mBuilder.setContentTitle("Attività insufficiente");
}
mBuilder.setStyle(new NotificationCompat.BigTextStyle().bigText(messageCurr.getMessage()));
mBuilder.setContentText("Svolgi al più presto l'attività fisica Pallavvolo ! Clicca su questa notifica per avviare l'esercizio..." );
NotificationAction currAction = db.getNotificationActionById(messageCurr.getActionId());
if(currAction != null){
//lego la action
String[] separated = currAction.getActivityName().split("-");
boolean isNewActivity = (separated[0].equals(NEW_ACTIVITY_START));
int idAction = Integer.valueOf(separated[1]);
Intent resultIntent = new Intent(getApplicationContext(), (isNewActivity) ? InsertNewActivity.class : ManageActivity.class);
Bundle b = new Bundle();
if(isNewActivity)
b.putInt(PAR_NOTIFICATION_EXERCISEID, idAction);
else
b.putInt(ActivitiesFragment.PAR_ACTIVITY_ID, idAction);
resultIntent.putExtras(b);
PendingIntent resultPendingIntent =
PendingIntent.getActivity(
getBaseContext(),
new Random().nextInt(),
resultIntent,
PendingIntent.FLAG_UPDATE_CURRENT,
b
);
mBuilder.setContentIntent(resultPendingIntent);
}
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
// notificationID allows you to update the notification later on.
mNotificationManager.notify(messageCurr.getId(), mBuilder.build());
//imposto la notifica come letta
messageCurr.setEnabled(false);
}
}
这是NotificationAction.java:
public class NotificationAction {
private int id;
private String activityName;
private boolean enabled;
public boolean isEnabled() {
return enabled;
}
public void setEnabled(boolean enabled) {
this.enabled = enabled;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getActivityName() {
return activityName;
}
public void setActivityName(String activityName) {
this.activityName = activityName;
}
}
答案 0 :(得分:0)
您可以通过以下链接获得解决方案:
https://tips.androidhive.info/2015/04/android-showing-push-notification-in-multiline/
http://sudeeprana.com/expand-android-notification-text-to-full-length/
或强>
Android 2.3.3使用旧的通知而不进行扩展。您必须使用较短的文本,剪切文本(并在用户点击时显示完整文本),或者如果您在Android 4.1或更早版本中显示通知,则必须调整文本。
扩展通知仅适用于Android 4.1,请在此处阅读: https://developer.android.com/guide/topics/ui/notifiers/notifications.html
答案 1 :(得分:0)
转换这些:
> mBuilder.setStyle(new
> NotificationCompat.BigTextStyle().bigText(messageCurr.getMessage()));
> mBuilder.setContentText("Svolgi al più presto l'attività fisica Pallavvolo ! Clicca su questa notifica per avviare
> l'esercizio..." );
为:
mBuilder.setStyle(new NotificationCompat.BigTextStyle().bigText("Svolgi al più presto l'attività fisica Pallavvolo ! Clicca su questa notifica per avviare l'esercizio..."));
展开时会显示全文。
答案 2 :(得分:0)
应该按原样运作。你应该放大&#34;放大&#34;用手指通知你看那里的所有文字。