android下录音后台将程序图标显示在状态栏上

来源:互联网 发布:visio软件结构图 编辑:程序博客网 时间:2024/05/19 19:44
http://libin52008.blog.163.com/blog/static/105327187201172711438758/
http://hi.baidu.com/eheghfxhsdcdkzr/item/97e304d4acda78d5251f40da
android下后台将程序图标显示在状态栏上
根据activity的生命周期,在activity不显示时,会执行onStop函数,所以你在onStop函数(按退出键除外)里面把notification放在通知栏里,再此显示时,把notification从通知栏里去掉。
或者,只要程序在运行就一直显示通知栏图标,这样简单点。
        privatevoid showNotification() {
        // 创建一个NotificationManager的引用
        NotificationManager notificationManager = (NotificationManager)
            context.getSystemService(android.content.Context.NOTIFICATION_SERVICE);         
        // 定义Notification的各种属性
        Notification notification =new Notification(R.drawable.icon,
                "天籁之音播放器", System.currentTimeMillis());
        notification.flags |= Notification.FLAG_ONGOING_EVENT; // 将此通知放到通知栏的"Ongoing"即"正在运行"组中
        notification.flags |= Notification.FLAG_NO_CLEAR; // 表明在点击了通知栏中的"清除通知"后,此通知不清除,经常与FLAG_ONGOING_EVENT一起使用
        notification.flags |= Notification.FLAG_SHOW_LIGHTS;
        notification.defaults = Notification.DEFAULT_LIGHTS;
        notification.ledARGB = Color.BLUE;
        notification.ledOnMS =5000;                
        // 设置通知的事件消息
        CharSequence contentTitle ="天籁之音正在播放……"; // 通知栏标题
        CharSequence contentText ="ameyume"; // 通知栏内容
        Intent notificationIntent =new Intent(context, MusicDemo.class); // 点击该通知后要跳转的Activity
        PendingIntent contentItent = PendingIntent.getActivity(context, 0,
                notificationIntent, 0);
        notification.setLatestEventInfo(context, contentTitle, contentText,
                contentItent);
        // 把Notification传递给NotificationManager
        notificationManager.notify(0, notification);
    }
去掉通知栏通知的方法
            // 启动后删除之前我们定义的通知
            NotificationManager notificationManager = (NotificationManager) this
                    .getSystemService(NOTIFICATION_SERVICE);
            notificationManager.cancel(0);

原创粉丝点击