您的位置:首页 > 移动开发 > Android开发

android怎么判断程序在后台运行,让后将程序图标显示在状态栏

2012-11-13 09:29 661 查看
根据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);

来源:http://hi.baidu.com/laoyang1018/item/df38231527f11b001894ec33
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: