json2notification

Overview

json2notification

Android Arsenal Download JitPack javadoc Build Status Join the chat at https://gitter.im/8tory/json2notification

Contributors..

Convert JSON to Android Notification. This is very useful for push notification (GCM).

Usage

Notification notification = Json2Notification.from(context).with(json).notification();
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(1, notification);

or

Json2Notification.from(context).with(json).notify(1);

Integration of Parse push notification

public SimpleParsePushBroadcastReceiver extends ParsePushBroadcastReceiver {
    @Override public void onReceive(final Context context, Intent intent) {
        String json = intent.getStringExtra("com.parse.Data");

        Json2Notification.from(context).with(json).notify(1);
    }
}

Installation

via jitpack:

repositories {
    maven { url "https://jitpack.io" }
}

dependencies {
    compile 'com.github.8tory:json2notification:-SNAPSHOT'
}

via jcenter:

repositories {
    jcenter()
}

dependencies {
    compile 'com.infstory:json2notification:1.0.1'
}

Input json format

{
    "android": {
        "notification": {
            "autoCancel": true,
            "bigPictureStyle": {
                "contentTitle": "json2notification",
                "summaryText": "JSON to Android Notification",
                "bigLargeIcon": "http://upload.wikimedia.org/wikipedia/en/b/bc/Wiki.png",
                "bigPicture": "http://upload.wikimedia.org/wikipedia/en/b/bc/Wiki.png"
            },
            "contentInfo": "json2notification.Json2Notification.from(context).with(json).notification();",
            "contentIntent": {
                "getActivity": true,
                "intent": {
                    "action": "android.intent.action.VIEW",
                    "uri": "https://play.google.com/store/apps/details?id=com.story8.android.gallery"
                }
            },
            "contentText": "JSON to Android Notification",
            "contentTitle": "json2notification",
            "deleteIntent": {
                "getActivity": true,
                "intent": {
                    "action": "android.intent.action.VIEW",
                    "uri": "https://play.google.com/store/apps/details?id=com.story8.android.gallery"
                }
            },
            "largeIcon": "http://upload.wikimedia.org/wikipedia/en/b/bc/Wiki.png",
            "smallIcon": "R.drawable.ic_launcher",
            "sound": "content://settings/system/notification_sound"
        }
    }
}

Bonus: serialization

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

new NotificationCompat.Builder(context)
    .setContentTitle("Hello World!")
    .setContentText("Hello World!")
    .setContentIntent(PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT))
    .build();

String json = Json2Notification.from(context).with(notifiction).serialize();

Live Demo

LICENSE

Copyright 2015 8tory, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
You might also like...
Comments
  • UIL doesn't support scheme(protocol) by default

    UIL doesn't support scheme(protocol) by default

    why im getting this? E/ImageLoaderīš• UIL doesn't support scheme(protocol) by default [R.mipmap.ic_notification]. You should implement this support yourself (BaseImageDownloader.getStreamFromOtherSource(...)) java.lang.UnsupportedOperationException: UIL doesn't support scheme(protocol) by default [R.mipmap.ic_notification]. You should implement this support yourself (BaseImageDownloader.getStreamFromOtherSource(...))

    question 
    opened by gustavomc 1
  • Add a Gitter chat badge to README.md

    Add a Gitter chat badge to README.md

    8tory/AndroidNotificationJson now has a Chat Room on Gitter

    @yongjhih has just created a chat room. You can visit it here: https://gitter.im/8tory/AndroidNotificationJson.

    This pull-request adds this badge to your README.md:

    Gitter

    If my aim is a little off, please let me know.

    Happy chatting.

    PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

    opened by gitter-badger 0
Owner
8tory - Facebook Memories
SNS 8tory Facebook Memories / Stories
8tory - Facebook Memories