package com.camnter.newlife.component.broadcastreceiver;
import android.annotation.TargetApi;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.graphics.BitmapFactory;
import android.os.Build;
import android.widget.Toast;
import com.camnter.newlife.R;
/**
* Description:DynamicReceiver
* Created by:CaMnter
* Time:2015-11-22 22:08
*/
public class DynamicReceiver extends BroadcastReceiver {
public static final String INTENT_ACTION = "com.camnter.android.intent.dynamic";
public static final String DYNAMIC_MESSAGE = "message";
public static DynamicReceiver instance;
private DynamicReceiver() {
}
public static DynamicReceiver getInstance() {
if (instance == null) instance = new DynamicReceiver();
return instance;
}
/**
* 提供给外部注册广播
*
* @param context context
*/
public static void register(Context context) {
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(INTENT_ACTION);
context.registerReceiver(getInstance(), intentFilter);
}
@TargetApi(Build.VERSION_CODES.JELLY_BEAN) @Override
public void onReceive(Context context, Intent intent) {
String message = intent.getStringExtra(DYNAMIC_MESSAGE);
Intent data = new Intent();
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, data,
PendingIntent.FLAG_CANCEL_CURRENT);
NotificationManager notificationManager = (NotificationManager) context.getSystemService(
Context.NOTIFICATION_SERVICE);
Notification notification = new Notification.Builder(context).setContentTitle(
"DynamicBroadcastReceiver")
.setContentText(message)
.setSmallIcon(
R.drawable.ic_mm_normal)
.setLargeIcon(
BitmapFactory.decodeResource(
context.getResources(),
R.drawable.ic_mm_normal))
.setContentIntent(
pendingIntent)
.build();
notificationManager.notify(206, notification);
Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
}
}