it-swarm.com.de

So wenden Sie einen großen Ansichtsstil auf eine Benachrichtigung mithilfe der Parse-Bibliothek an

Diese Bibliothek funktioniert einwandfrei, aber ich habe Zweifel.

Wenn ich eine Nachricht an Benutzer mit mehr als zwei Leitungen sende, können Benutzer nicht alle Nachrichten im Benachrichtigungsbereich sehen.

Aber ich weiß, dass Android es kann 

http://developer.Android.com/guide/topics/ui/notifiers/notifications.html#ApplyStyle . Wie erfolgt die Benachrichtigung von parse.com?

Schauen Sie sich die Bilder an, um mein Problem zu erklären

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

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

13
Gorio
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());
16
Gorio

Hier ist ein Beispiel mit 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());

Example

22
adneal

Dieses Snippet zeigt, wie das Builder-Objekt erstellt wird. Sie legt den Stil für die große Ansicht auf big text fest und legt ihren Inhalt als Erinnerungsnachricht fest. 

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());

Weitere Informationen finden Sie unter: http://developer.Android.com/training/notify-user/expanded.html

5
M D

Hier habe ich Screenshots angehängt, der erste Bildschirminhalt enthält einen Titel des Beitrags. Wenn Sie auf den Abwärtspfeil rechts neben dem App-Namen klicken, wird der zweite Screenshot angezeigt, der ein benutzerdefiniertes Layout für die Push-Benachrichtigung ist das ich für meine entworfen habe.

<?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>

Methode zum Erstellen einer Benachrichtigung mit benutzerdefiniertem Layout

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;
}
}

 enter image description here

 enter image description here

2
Jayakumar

sie setzen 

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

1
Pong Petrung
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());
1
Ravdeep Sohi

sie können eine Benachrichtigung mit großem Textstil erstellen 

 Intent intent = new Intent(this, MainActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent,
            PendingIntent.FLAG_ONE_SHOT);

    Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
    NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
            .setSmallIcon(R.mipmap.ic_launcher)
            .setContentTitle(title)
            .setContentText(messageBody)
            .setAutoCancel(true)
            .setSound(defaultSoundUri)
            .setContentIntent(pendingIntent);

    NotificationManager notificationManager =
            (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

    notificationManager.notify(id /* ID of notification */, notificationBuilder.build());
0
yousef

Sie müssen die Methode getNotification Ihrer ParsePushBroadcastReceiver-Unterklasse überschreiben. Darüber hinaus gibt es viele Antworten, die zeigen, wie die große Inhaltsansicht für eine Benachrichtigung festgelegt wird.

0
Douglas Marques