package com.miris; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.support.v7.app.NotificationCompat; import com.miris.ui.activity.BaseActivity; import com.miris.net.SessionPreferences; import com.miris.ui.activity.SignInActivity; import com.parse.ParsePushBroadcastReceiver; import org.json.JSONException; import org.json.JSONObject; /** * Created by fantastic on 2015-10-20. */ public class MirisPushReceiver extends ParsePushBroadcastReceiver { @Override public void onPushOpen(Context context, Intent intent) { Intent i = new Intent(context, SignInActivity.class); i.putExtras(intent.getExtras()); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); } @Override public void onPushReceive(Context context, Intent intent) { SessionPreferences session = new SessionPreferences(context); JSONObject pushData; String alert = null; try { pushData = new JSONObject(intent.getStringExtra(MirisPushReceiver.KEY_PUSH_DATA)); alert = pushData.getString("alert"); } catch (JSONException e) {} if (!alert.equals("false") && session.getPushAlert() == true) { Intent cIntent = new Intent(MirisPushReceiver.ACTION_PUSH_OPEN); cIntent.putExtras(intent.getExtras()); cIntent.setPackage(context.getPackageName()); PendingIntent pContentIntent = PendingIntent.getBroadcast(context, 0 , cIntent, PendingIntent.FLAG_UPDATE_CURRENT); NotificationCompat.Builder builder = new NotificationCompat.Builder(context); builder .setSmallIcon(R.drawable.noti_icon) .setContentTitle("미르이즈") .setContentText(alert) .setContentIntent(pContentIntent) .setAutoCancel(true); NotificationManager myNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); myNotificationManager.notify(1, builder.build()); } BaseActivity.badge_count = BaseActivity.badge_count +1; Intent badgeintent = new Intent("android.intent.action.BADGE_COUNT_UPDATE"); badgeintent.putExtra("badge_count_package_name", "com.miris"); badgeintent.putExtra("badge_count_class_name", "com.miris.ui.activity.SignInActivity"); badgeintent.putExtra("badge_count", BaseActivity.badge_count); context.sendBroadcast(badgeintent); } }