android双服务,消息通知(serviceutils)

package com.service.demo;


import java.util.List;


import com.example.servicetest2.R;






import android.app.ActivityManager;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.ActivityManager.RunningAppProcessInfo;
import android.content.Context;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.support.v4.app.NotificationCompat;
import android.support.v4.app.NotificationCompat.BigPictureStyle;
import android.support.v4.app.NotificationCompat.Builder;


/**
 * 服务工具类
 * @author Administrator
 * 2016-01-09
 */
public class ServiceUtils 
{


private static NotificationCompat.Builder mBuilder;
private static NotificationManager mNotificationManager;
private static int notifyId = 100;

/**
* 判断进程是否运行
* @return boolean
*/
public static boolean isProessRunning(Context context, String proessName) 
{


boolean isRunning = false;
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);


List<RunningAppProcessInfo> lists = am.getRunningAppProcesses();
for (RunningAppProcessInfo info : lists) 
{
if (info.processName.equals(proessName)) 
{
isRunning = true;
}
}


return isRunning;
}
/**
* 显示消息通知
* @param context
* @param title
* @param content
* @param showTitle
*/
public static void showNotification(Context context,String title,String content,String showTitle)
{
NotifiManager(context,title,content,showTitle);

mBuilder.setContentTitle(title)
.setContentText(content)
// .setNumber(number)//显示数量
.setTicker(showTitle);//通知首次出现在通知栏,带上升动画效果的

mNotificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
         mNotificationManager.notify(notifyId, mBuilder.build());
}
/**
* 设置大视图
* @param context
* @param title
* @param content
* @param showTitle
*/
public static void showBigImgViewNotification(Context context,String title,String content,String showTitle)
{
 
  NotificationCompat.Builder builderPic = new Builder(context);
      builderPic.setSmallIcon(R.drawable.ic_launcher).setTicker("新浪体育提醒");
     
      BigPictureStyle pictureStyle = new BigPictureStyle();       //进行设置
      pictureStyle.setBigContentTitle("新浪体育 快船VS骑士 ");
      pictureStyle.bigPicture(BitmapFactory.decodeResource(context.getResources(), R.drawable.tt));
      pictureStyle.setSummaryText(" 新浪体育 快船VS骑士新浪体育 快船VS骑士新浪体育 快船VS骑士新浪体育 快船VS骑士新浪体育 快船VS骑士新浪体育 快船VS骑士快船VS骑士 天王山之战!!!");
      
      builderPic.setStyle(pictureStyle);                         //设置样式
     
      builderPic.setWhen(System.currentTimeMillis());            //设置显示的时间
      Notification notification = pictureStyle.build();
      notification.flags = Notification.FLAG_AUTO_CANCEL;
      
      mNotificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
      mNotificationManager.notify(notifyId, notification);
}

/**
* 通知管理
* @param context
* @param title
* @param content
* @param showTitle
*/
public static void NotifiManager(Context context,String title,String content,String showTitle)
{
mBuilder = new NotificationCompat.Builder(context);
mBuilder.setContentTitle("测试标题")
.setContentText("测试内容")
.setContentIntent(getDefalutIntent(context,Notification.FLAG_AUTO_CANCEL))
// .setNumber(number)//显示数量
.setTicker("测试通知来啦")//通知首次出现在通知栏,带上升动画效果的
.setWhen(System.currentTimeMillis())//通知产生的时间,会在通知信息里显示
.setPriority(Notification.PRIORITY_DEFAULT)//设置该通知优先级
// .setAutoCancel(true)//设置这个标志当用户单击面板就可以让通知将自动取消  
.setOngoing(false)//ture,设置他为一个正在进行的通知。他们通常是用来表示一个后台任务,用户积极参与(如播放音乐)或以某种方式正在等待,因此占用设备(如一个文件下载,同步操作,主动网络连接)
.setDefaults(Notification.DEFAULT_VIBRATE|Notification.DEFAULT_SOUND)//向通知添加声音、闪灯和振动效果的最简单、最一致的方式是使用当前的用户默认设置,使用defaults属性,可以组合:
//Notification.DEFAULT_ALL  Notification.DEFAULT_SOUND 添加声音 // requires VIBRATE permission
.setSmallIcon(com.example.servicetest2.R.drawable.ic_launcher);
}

/**
* @获取默认的pendingIntent,为了防止2.3及以下版本报错
* @flags属性:  
* 在顶部常驻:Notification.FLAG_ONGOING_EVENT  
* 点击去除: Notification.FLAG_AUTO_CANCEL 
*/
public static PendingIntent getDefalutIntent(Context context,int flags)
{
PendingIntent pendingIntent= PendingIntent.getActivity(context, 1, new Intent(), flags);
return pendingIntent;
}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值