`

Android的Activity之后台隐藏

 
阅读更多
public class MainActivity extends Activity {
     /** Called when the activity is first created. */
     NotificationManager nm;
     Notification notifi;
     PendingIntent pi;
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         nm = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
         notifi = new Notification(R.drawable.ic_launcher,"",System.currentTimeMillis());
         Intent intent = new Intent(this,MainActivity.class);
         intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_NEW_TASK);
         pi = PendingIntent.getActivity(this, 0, intent, 0);
         notifi.setLatestEventInfo(this,"别当心", "哥还在", pi);
         notifi.flags  = Notification.FLAG_INSISTENT|Notification.FLAG_ONGOING_EVENT;
         setContentView(R.layout.main);
         
     }
 
     @Override
     public void onBackPressed() {
         // TODO Auto-generated method stub
         //super.onBackPressed();
         AlertDialog.Builder builder = new AlertDialog.Builder(this);
         builder.setIcon(R.drawable.ic_launcher);
         builder.setTitle("是否退出");
         //builder.setMessage("");
         builder.setPositiveButton("退出", new DialogInterface.OnClickListener() {
             
             @Override
             public void onClick(DialogInterface dialog, int which) {
                 // TODO Auto-generated method stub
                 finish();
                 android.os.Process.killProcess(android.os.Process.myPid());
             }
         });
         builder.setNeutralButton("隐藏", new DialogInterface.OnClickListener() {
             
             @Override
             public void onClick(DialogInterface dialog, int which) {
                 // TODO Auto-generated method stub
                 Intent intent = new Intent(Intent.ACTION_MAIN);
                 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                 intent.addCategory(Intent.CATEGORY_HOME);
                 MainActivity.this.startActivity(intent);
                 
             }
         });
         builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
             
             @Override
             public void onClick(DialogInterface dialog, int which) {
                 // TODO Auto-generated method stub
                 
             }
         });
         
         builder.create().show();
     }
     
     
     
 
     @Override
     public void finish() {
         // TODO Auto-generated method stub
         super.finish();
         nm.cancel(R.drawable.ic_launcher);
     }
 
     @Override
     protected void onDestroy() {
         // TODO Auto-generated method stub
         super.onDestroy();
         Log.e("MainActivity", "onDestroy");
         nm.cancelAll();
     }
 
     @Override
     protected void onStop() {
         // TODO Auto-generated method stub
         super.onStop();
         nm.notify(R.drawable.ic_launcher, notifi);
     }

 感谢大神:http://www.cnblogs.com/bvin/archive/2012/08/18/2645584.html

分享到:
评论

相关推荐

    android Activity生命周期

    - 如果Activity被部分或完全隐藏,但仍在内存中,会调用`onStop()`。此时,Activity对用户不可见,但系统可能还保留其状态。 3. **恢复过程**: - 当前Activity重新获得焦点时,会从`onRestart()`开始恢复,然后...

    Android_Activity的详细讲解

    - **onPause()**: 当Activity失去焦点但还未完全隐藏时被调用。系统可能会在Activity的onPause()方法中暂停动画等消耗资源的操作,以节约电量和处理器资源。 - **onStop()**: 当Activity不再对用户可见时被调用。...

    自定义Activity标题栏(增加关闭和隐藏Activity的按钮)

    在设置了自定义标题栏之后,还需要确保Activity使用了正确的主题以避免出现冲突。例如,可以创建一个名为`style.xml`的样式文件,该文件位于`res/values`目录下: ```xml <resources xmlns:android=...

    Android判断Activity是否在最上层的方法

    需要注意的是,`getRunningTasks()`方法在Android 4.0(API级别16)之后受到了限制,对于非系统应用,它只能访问到自己应用的信息。因此,上述方法在较新的Android版本中可能无法正确判断其他应用的Activity状态。 ...

    Android应用源码之8.Activity生命周期.zip

    5. **停止(Stopped)**:如果Activity被完全隐藏或者系统需要回收资源,`onStop()`会被调用。此时,Activity对于用户来说是不可见的,但其状态和数据仍然被保留。 6. **销毁(Destroyed)**:当Activity不再需要时...

    Activity生命周期源代码

    - `onPause()`: 当Activity即将被另一个Activity覆盖或隐藏时,系统会调用`onPause()`. 这个方法应该快速执行,因为其他Activity可能在等待。 - `onStop()`: 当Activity不再可见时,系统调用`onStop()`. 这里可以...

    Android代码-非常优雅的方案实现屏幕截图,利用android 5.0之后的录屏API实现截屏

    非常优雅的方案实现屏幕截图,利用android 5.0 之后的录屏API获取一帧画面,来实现截屏。 特性 方便后台service调用截屏功能。 打破老旧的截屏方案,只能截当前activity不能截状态栏的问题。 使用 直接编译...

    新版Android开发教程.rar

    ----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...

    全网最全Android开发笔记.zip

    Android 6.0以后引入了运行时权限,开发者需要在应用运行时请求用户授权。 十四、单元测试与持续集成 编写测试用例,使用JUnit、Espresso等工具进行单元测试和UI测试。利用Jenkins、Travis CI等工具实现持续集成。 ...

    最全面最齐全的Android基础面试题

    - **注册**:创建了一个新的Activity之后,必须在项目的`AndroidManifest.xml`文件中对其进行注册,这样Android系统才能识别并调用它。 **知识点2:Activity生命周期** - **onCreate(Bundle savedInstanceState)**...

    android4.0 移除导航栏

    在Android 4.0之后的版本中,除非是设备制造商或ROM开发者,否则几乎不可能在没有严重影响系统稳定性的情况下移除导航栏。 总结来说,尽管在Android 4.0中可以尝试通过非正规途径移除导航栏,但这样做不仅技术难度...

    Activity 生命周期

    - **初始化(Initialized)**: 在`onCreate()`之后,调用`onStart()`,Activity变得对用户可见,但还不在前台。 - **启动(Started)**: 调用`onResume()`后,Activity进入启动状态,完全可见并可与用户交互。 - ...

    Android4.0静默安装源码

    可以使用`FLAG_ACTIVITY_NEW_TASK`和`FLAG_ACTIVITY_HIDE_HOME`来隐藏启动器和主屏幕图标。 ```java intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_HIDE_HOME); ``` 4. **执行Intent**...

    android悬浮窗口的实现

    在Android 4.4 (KitKat)之后,应用需要获取`SYSTEM_ALERT_WINDOW`权限才能显示悬浮窗口。在AndroidManifest.xml文件中添加以下权限: ```xml <uses-permission android:name="android.permission.SYSTEM_ALERT_...

    word源码java-Android-Interview-Gathered:Android-面试-集结

    word源码java Android相关 Activity和Fragment的生命周期 ...通过键值对的形式将对象储存在内存中,满了以后自动提出最不常用的对象) 磁盘缓存(使用DiskLurCache,数据库SQLite缓存,文件缓存) Android 屏幕适配

    Android 开发技巧

    * 判断 thingdate 的 dotime 天后是否在今天之后 374 * 判断testDate+testTime是否在两个时间之内 375 附录: 378 附录1、XML布局中的常用属性 378 1.通用属性 378 2.Edit Text部分属性 381 3.layout_...

    ActivityLifecycle

    Activity生命周期是Android应用开发中的核心概念,涉及到程序与用户交互的每一个阶段。在这个主题中,我们主要探讨Activity从创建到销毁的各个阶段,以及在这些阶段中如何进行适当的管理。 Activity有七个主要的...

    几个经常用到的android开发代码1

    当数据加载完成之后,调用`dismiss()`方法隐藏该对话框。 ### 三、禁止重力感应横屏竖屏 在某些应用场景下,可能需要固定屏幕的显示方向,以避免由于设备的倾斜而引起的屏幕旋转问题。这可以通过在`...

    安卓Android源码——oschina-android-app(开源中国).zip

    【标题】"安卓Android源码——oschina-android-app(开源中国).zip" 提供的是开源中国客户端应用的源代码,这为我们深入了解安卓应用程序的开发提供了宝贵的资源。开源中国作为一个国内知名的开源技术社区,其...

    Prob1-Understanding-the-Life-Cycle-of-an-Activity

    Understanding-the-Life-Cycle-of-an-Activity"项目中,开发者可能通过创建和操控`Activity`实例,观察各个生命周期方法的调用顺序,理解不同场景下`Activity`如何被创建、显示、隐藏和销毁,进一步提升Android应用...

Global site tag (gtag.js) - Google Analytics