Created
April 14, 2017 05:46
-
-
Save itsmejkumar/475cbc879a2fa69b8dc106e6c516db11 to your computer and use it in GitHub Desktop.
Android custom push notification sample
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?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" | |
| android:orientation="vertical"> | |
| <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> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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);//Sritapana189 | |
| 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); //Modified | |
| 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; | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment