Cómo aplicar un estilo de vista grande a una notificación mediante la biblioteca Parse

Esta biblioteca funciona perfectamente, pero tengo una duda.

Cuando envío un mensaje a usuarios con más de dos líneas, los usuarios no pueden ver todos los mensajes en el área de notificación.

Pero sé que ANDROID puede hacerlo

Http://developer.android.com/guide/topics/ui/notifiers/notifications.html#ApplyStyle . ¿Cómo hacerlo para la notificación de parse.com ?

Mira las imágenes para explicar mi problema

Image1 http://gorio.eng.br/parse1.png

Image2 http://gorio.eng.br/parse2.png

He aquí un ejemplo usando Notification.BigTextStyle .

  final String someLongText = "fkdljfdldkfj;ldaksjfkladj;flja;lkjdfljadslfjaddfdsfafjdfad" + "fdl;akjf;lkdf;lkaj;flkjda;lkfjadljflk;adsjfladjflk;dfjlkdjflakdfjdaffjdlfjdjjj" + "adjflkjadlkfjad;lkfjad;sljf;ladkjajlkfjad;lksfjl;akdjf;lkdsajf;lkdjfkadj;flkad" + "jf;lkadjfkldas;lkfja;dljf;lkdasjf;lkadjs;lfjas;ldkfj;lkadsjfl;kadljfl;kasdjf;l" + "jdlskfjklda;fjadslkfj;sdalkfj;ladjf;lajdl;fkajld;kfjlajfl;adjfl;kajdl;fjadl;kfj;"; final Notification.Builder builder = new Notification.Builder(this); builder.setStyle(new Notification.BigTextStyle(builder) .bigText(someLongText) .setBigContentTitle("Big title") .setSummaryText("Big summary")) .setContentTitle("Title") .setContentText("Summary") .setSmallIcon(android.R.drawable.sym_def_app_icon); final NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); nm.notify(0, builder.build()); 

Ejemplo

 Bitmap icon1 = BitmapFactory.decodeResource(getResources(), R.drawable.gorio); NotificationCompat.Builder mBuilder = new NotificationCompat.Builder( getApplicationContext()).setAutoCancel(true) .setContentTitle("Exemplo 1") .setSmallIcon(R.drawable.gorio) .setLargeIcon(icon1).setContentText("Hello World!"); NotificationCompat.BigTextStyle bigText = new NotificationCompat.BigTextStyle(); bigText.bigText(msg); bigText.setBigContentTitle("GORIO Engenharia"); bigText.setSummaryText("Por: GORIO Engenharia"); mBuilder.setStyle(bigText); mBuilder.setPriority(NotificationCompat.PRIORITY_MAX); // Creates an explicit intent for an Activity in your app Intent resultIntent = new Intent(getApplicationContext(), MainActivity.class); // The stack builder object will contain an artificial back // stack for // the // started Activity. // getApplicationContext() ensures that navigating backward from // the Activity leads out of // your application to the Home screen. TaskStackBuilder stackBuilder = TaskStackBuilder .create(getApplicationContext()); // Adds the back stack for the Intent (but not the Intent // itself) stackBuilder.addParentStack(MainActivity.class); // Adds the Intent that starts the Activity to the top of the // stack stackBuilder.addNextIntent(resultIntent); PendingIntent resultPendingIntent = stackBuilder .getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); mBuilder.setContentIntent(resultPendingIntent); NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); // mId allows you to update the notification later on. mNotificationManager.notify(100, mBuilder.build()); 

Este fragmento muestra cómo construir el objeto Builder . Establece el estilo para que la vista grande sea texto grande y establece su contenido como el mensaje de recordatorio.

 String msg="This is Big style notification builder.This is Big style notification builder.This is Big style notification builder.This is Big style notification builder.This is Big style notification builder.This is Big style notification builder.This is Big style notification builder.This is Big style notification builder.This is Big style notification builder.This is Big style notification builder." // Constructs the Builder object. NotificationCompat.Builder builder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.ic_stat_notification) .setContentTitle(getString(R.string.notification)) .setContentText(getString(R.string.ping)) .setDefaults(Notification.DEFAULT_ALL) // requires VIBRATE permission .setStyle(new NotificationCompat.BigTextStyle().bigText(msg)) final NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); nm.notify(0, builder.build()); 

Para obtener más información, visite: http://developer.android.com/training/notify-user/expanded.html

 final String someLongText = "......"; final Notification.Builder builder = new Notification.Builder(this); builder.setStyle(new Notification.BigTextStyle(builder) .bigText(someLongText) .setBigContentTitle("Big title") .setSummaryText("Big summary")) .setContentTitle("Title") .setContentText("Summary"); final NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); nm.notify(0, builder.build()); 

configura

 String en_alert ,th_alert ,en_title,th_title ,id; int noti_all, noti_1, noti_2, noti_3, noti_4 = 0, Langage; Intent intent = new Intent(context, ReserveStatusActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); NotificationManager notificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE); intent = new Intent(String.valueOf(PushActivity.class)); intent.putExtra("message", MESSAGE); TaskStackBuilder stackBuilder = TaskStackBuilder.create(context); stackBuilder.addParentStack(PushActivity.class); stackBuilder.addNextIntent(intent); // PendingIntent pendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); // android.support.v4.app.NotificationCompat.BigTextStyle bigStyle = new NotificationCompat.BigTextStyle(); // bigStyle.bigText((CharSequence) context); notification = new NotificationCompat.Builder(context) .setSmallIcon(R.mipmap.ic_launcher) .setContentTitle(th_title ) // th_title >>> String = th_title .setContentText(th_alert) // th_alert>>> String = th_title .setAutoCancel(true) //.setStyle(new Notification.BigTextStyle().bigText(th_alert) .setStyle(new NotificationCompat.BigTextStyle().bigText(th_title)) .setStyle(new NotificationCompat.BigTextStyle().bigText(th_alert)) .setContentIntent(pendingIntent) .setNumber(++numMessages) .build(); notification.sound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); notificationManager.notify(1000, notification); 

Facebook facebook.com/PongLoveWii

Aquí he adjuntado una captura de pantalla, el contenido de la primera pantalla de un título de la publicación y cuando hacemos clic en la flecha hacia abajo en el lado derecho del nombre de la aplicación que conduce a la segunda captura de pantalla que es el diseño personalizado para notificación push. Que he diseñado para la mía.

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="4dp" xmlns:card_view="http://schemas.android.com/apk/res-auto" android:orientation="vertical" card_view:cardCornerRadius="5dp" card_view:cardUseCompatPadding="true"> <LinearLayout android:layout_width="match_parent" android:orientation="horizontal" android:background="#80000000" android:layout_height="wrap_content"> <ImageView android:src="@mipmap/ic_launcher" android:layout_width="50dp" android:layout_height="match_parent" android:padding="10dp" android:layout_marginLeft="5dp" android:background="@null" android:layout_gravity="center_vertical|center_horizontal" android:scaleType="centerCrop"/> <TextView android:id="@+id/title" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" android:minHeight="48dp" android:paddingBottom="16dp" android:paddingLeft="16dp" android:paddingRight="16dp" android:paddingTop="16dp" android:background="@android:color/transparent" android:textColor="@android:color/white" tools:text="Test"/> </LinearLayout> <ImageView android:id="@+id/image" android:layout_width="match_parent" android:layout_height="fill_parent" android:adjustViewBounds="true" android:contentDescription="@null" android:scaleType="centerCrop" android:src="@drawable/placeholder"/> </LinearLayout> 

Método para crear notificaciones con diseño personalizado,

 public static void createNotification(String title, String body,String image_url, Context context, int notificationsId, String single_id) { Intent notificationIntent; long when = System.currentTimeMillis(); int id = (int) System.currentTimeMillis(); Bitmap bitmap = getBitmapFromURL(image_url); NotificationCompat.BigPictureStyle notifystyle = new NotificationCompat.BigPictureStyle(); notifystyle.bigPicture(bitmap); RemoteViews contentView = new RemoteViews(context.getPackageName(), R.layout.custom_notification_layout); contentView.setImageViewBitmap(R.id.image, bitmap); contentView.setTextViewText(R.id.title, body); NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context) .setSmallIcon(R.drawable.ic_launcher) .setStyle(notifystyle) .setCustomBigContentView(contentView) .setContentText(body); NotificationManager mNotificationManager = (NotificationManager) context .getSystemService(Context.NOTIFICATION_SERVICE); notificationIntent = new Intent(context, SinglePost.class); notificationIntent.putExtra("single_id",single_id); notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); PendingIntent contentIntent = PendingIntent.getActivity(context, id, notificationIntent, 0); Notification notification = mBuilder.build(); notification.contentIntent = contentIntent; notification.flags |= Notification.FLAG_AUTO_CANCEL; notification.defaults |= Notification.DEFAULT_SOUND; notification.defaults |= Notification.DEFAULT_VIBRATE; mNotificationManager.notify(notificationsId, notification); } public static Bitmap getBitmapFromURL(String strURL) { try { URL url = new URL(strURL); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setDoInput(true); connection.connect(); InputStream input = connection.getInputStream(); Bitmap myBitmap = BitmapFactory.decodeStream(input); return myBitmap; } catch (IOException e) { e.printStackTrace(); return null; } } 

Introduzca aquí la descripción de la imagen

Introduzca aquí la descripción de la imagen

Necesita anular el método getNotification de su subclase ParsePushBroadcastReceiver y encima hay muchas respuestas diciendo cómo establecer la vista de contenido grande en una notificación.

  • Analizar el ID de usuario anónimo no persiste en Android
  • Problemas con ProGuard para Android con Parse 1.3.5 jar
  • Cómo cargar una imagen en el servidor de análisis utilizando analizar api en android
  • Importe la biblioteca parse.com al estudio de Android 0.8.2
  • Integración de Facebook en aplicaciones móviles multiplataforma
  • La notificación de Parse Push no funciona en android
  • Android parse.com No se puede recibir notificaciones push
  • Eliminar una fila de la tabla Parse
  • Java.lang.NoClassDefFoundError en 4.1 y trabajando con 5.1.utilizando multidex en android studio
  • Android Parse, notificaciones y buildTypes
  • RecyclerView notifyDataSetChanged no funciona después de la consulta de análisis
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.