在程序中点击home键后将程序通知显示到状态栏中

当程序处于后台运作的时候,Activity处于onStop状态,so只要在onStop方法中将程序运行状态显示在状态栏即可

//在状态栏显示程序通知
    private void showNotification() {
        // 创建一个NotificationManager的引用
        NotificationManager notificationManager = (NotificationManager) this
                .getSystemService(android.content.Context.NOTIFICATION_SERVICE);

// 定义Notification的各种属性
        Notification notification = new Notification(R.drawable.ic_launcher,
                "superGao", 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 = "superGao"; // 通知栏标题
        CharSequence contentText = "love"; // 通知栏内容
        Intent notificationIntent = new Intent(this, FirstActivity.class); // 点击该通知后要跳转的Activity
        PendingIntent contentItent = PendingIntent.getActivity(this, 0,
                notificationIntent, 0);
        notification.setLatestEventInfo(this, contentTitle, contentText,
                contentItent);

// 把Notification传递给NotificationManager
        notificationManager.notify(0, notification);

}

/**
     * 当此Activity处于后台工作时, 在状态栏显示通知
     */
    @Override
    protected void onStop() {
        showNotification();
        super.onStop();
    }

当程序再次进入运行界面时,Activity处于onResume状态,so只要在onResume方法中去掉状态栏的程序运行信息即可

/**
     * 此Activity启动后关闭状态栏的通知
     */
    @Override
    protected void onResume() {
        // 启动后删除之前我们定义的通知
        NotificationManager notificationManager = (NotificationManager) this
                .getSystemService(NOTIFICATION_SERVICE);
        notificationManager.cancel(0);
        super.onResume();
    }

时间: 2024-08-05 08:38:09

在程序中点击home键后将程序通知显示到状态栏中的相关文章

Android 在安装完成界面,点击打开应用程序。在应用程序点击home键,再从桌面打开程序导致产生多个实例或者说程序被重复打开

Android 在安装完成界面,点击打开应用程序.在应用程序点击home键,再从桌面打开程序导致产生多个实例或者说程序被重复打开. etong_123的专栏 - 博客频道 - CSDN.NET *http://blog.csdn.net/etong_123/article/details/22897731 android:taskAffinity与android:finishOnTaskLaunch之我见 - java豆子 - 博客园 http://www.cnblogs.com/error40

electron-vue中点击按钮,实现打开程序目录里面的某个文件

设计到的知识点: explorer.exe /select 打开文件夹并把焦点放到指定文件 nodejs中的process模块--child_process.exec 我这里是根据需求,点击按钮后打开本项目里面的数据库 ams.db文件 需要注意的是,开发版本和打包后的项目结构可能会发生改变,当你在开发版本测试的路径成功,而打包后可能不存在这个文件夹 代码结构如下: <Button class="tab-w" type="primary" icon="

myeclipse 中某个项目中点击ctrl键点击鼠标,无法进入到对应方法中

首先观察你所有myeclipse的项目是否存在其他项目报错的问题 选中对应项目右击,选properties---java build path---Libraries 看到某个jdk后面报错(unbound),意思是有jdk没有绑定 解决方案:点击window---preference---java----Intalled JREs将没有绑定的jdk在本地找到安装的位置,进行绑定,注意选择jdk路径时选到jdk的根目录就可以了,千万不要选到对应的bin那是配置环境变量的路径.

linux系统中vi点击上下左右键后出现ABCD,没有移动光标

终端(terminal)中输入 vi /etc /vim/vimrc.tiny 在打开的文件中修改 1. 将 set compatible  修改为  set nocompatible 在下一行加入 set backspace=2 保存即可.保存时出现只读时请以管理身份运行,终端中输入: su 会提示输入root的密码.输入即可. 然后再执行上面的修改即可. 原文地址:https://www.cnblogs.com/xiangxinhouse/p/11797736.html

android中使用notification的时候,点击home键,再从通知选项中返回点击home键前那个activity

为了方便新手,虽然很简单,但是我看园内没人写...所以就...(我也是新手~) 其实就是利用activity栈的原理.... 在mainactivity的onCreat()中写: NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); Notification notification = new Notification(R.d

iphone按home键后,正在运行的程序是否退出了呢?

是否一直有个疑问,当iphone手机正在运行一个APP,如果按Home键后,那么原来正在运行的程序还在运行吗?如果开发过ios程序,可能不是问题,如果没有开发过的,可能会疑惑了,我就简单的说一下.以几个问题的形式来说明,以正在运行QQ为例. 1.为什么按home键后,长时间不操作,再启动qq的话,会重新运行qq(没有回到原来的状态)? 答:iphone实际上是伪后台,按home键后,程序就退出了.所以我们iphone中使用的程序一般都没有退出键. 试想一下,如果程序有退出键的话,那么当程序无响应

正在运行的android程序,按home键之后退回到桌面,在次点击程序图标避免再次重新启动程序解决办法

例如:一个android程序包含两个Activity,分别为MainActivity和OtherActivity,MainActivity为程序启动的Activity.如果程序正位于OtherActivity,点击home键,程序退回到桌面, 在次点击程序图标,程序默认会自动重启,即重新进入MainActivity,而不是进入点击home键的时刻程序所位于的OtherActivity. 解决方法: 在AndroidManifest.xml中修改,MainActivity的launchMode,去

android取消点击音量键弹出音量调节界面

比如在viewpager中点击音量键调节上一页下一页,return true就可以取消音量界面的显示 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (voiceRead.equals("open")) { if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) { vp.setCurrentItem(vp.getCurrentItem()+1); return tr

实现点击menu键popupWindow显示和消失

转载请注明出处,谢谢 http://blog.csdn.net/harryweasley/article/details/45217273 最近想实现一个这样的功能:点击menu键,popupWindow显示出来,再点击menu键,popupWindow消失,同时也可以点击正常的按钮使popupWindow出来和消失. 我说的是不是有点乱,那就看下具体的效果图,就像微信的这个效果一样的,如图所示: 这个popupWindow既可以通过点击"+"号出来,也可以点击menu键出来,当然也可