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
相关推荐
- 如果Activity被部分或完全隐藏,但仍在内存中,会调用`onStop()`。此时,Activity对用户不可见,但系统可能还保留其状态。 3. **恢复过程**: - 当前Activity重新获得焦点时,会从`onRestart()`开始恢复,然后...
- **onPause()**: 当Activity失去焦点但还未完全隐藏时被调用。系统可能会在Activity的onPause()方法中暂停动画等消耗资源的操作,以节约电量和处理器资源。 - **onStop()**: 当Activity不再对用户可见时被调用。...
在设置了自定义标题栏之后,还需要确保Activity使用了正确的主题以避免出现冲突。例如,可以创建一个名为`style.xml`的样式文件,该文件位于`res/values`目录下: ```xml <resources xmlns:android=...
需要注意的是,`getRunningTasks()`方法在Android 4.0(API级别16)之后受到了限制,对于非系统应用,它只能访问到自己应用的信息。因此,上述方法在较新的Android版本中可能无法正确判断其他应用的Activity状态。 ...
5. **停止(Stopped)**:如果Activity被完全隐藏或者系统需要回收资源,`onStop()`会被调用。此时,Activity对于用户来说是不可见的,但其状态和数据仍然被保留。 6. **销毁(Destroyed)**:当Activity不再需要时...
- `onPause()`: 当Activity即将被另一个Activity覆盖或隐藏时,系统会调用`onPause()`. 这个方法应该快速执行,因为其他Activity可能在等待。 - `onStop()`: 当Activity不再可见时,系统调用`onStop()`. 这里可以...
非常优雅的方案实现屏幕截图,利用android 5.0 之后的录屏API获取一帧画面,来实现截屏。 特性 方便后台service调用截屏功能。 打破老旧的截屏方案,只能截当前activity不能截状态栏的问题。 使用 直接编译...
----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...
Android 6.0以后引入了运行时权限,开发者需要在应用运行时请求用户授权。 十四、单元测试与持续集成 编写测试用例,使用JUnit、Espresso等工具进行单元测试和UI测试。利用Jenkins、Travis CI等工具实现持续集成。 ...
- **注册**:创建了一个新的Activity之后,必须在项目的`AndroidManifest.xml`文件中对其进行注册,这样Android系统才能识别并调用它。 **知识点2:Activity生命周期** - **onCreate(Bundle savedInstanceState)**...
在Android 4.0之后的版本中,除非是设备制造商或ROM开发者,否则几乎不可能在没有严重影响系统稳定性的情况下移除导航栏。 总结来说,尽管在Android 4.0中可以尝试通过非正规途径移除导航栏,但这样做不仅技术难度...
- **初始化(Initialized)**: 在`onCreate()`之后,调用`onStart()`,Activity变得对用户可见,但还不在前台。 - **启动(Started)**: 调用`onResume()`后,Activity进入启动状态,完全可见并可与用户交互。 - ...
可以使用`FLAG_ACTIVITY_NEW_TASK`和`FLAG_ACTIVITY_HIDE_HOME`来隐藏启动器和主屏幕图标。 ```java intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_HIDE_HOME); ``` 4. **执行Intent**...
在Android 4.4 (KitKat)之后,应用需要获取`SYSTEM_ALERT_WINDOW`权限才能显示悬浮窗口。在AndroidManifest.xml文件中添加以下权限: ```xml <uses-permission android:name="android.permission.SYSTEM_ALERT_...
word源码java Android相关 Activity和Fragment的生命周期 ...通过键值对的形式将对象储存在内存中,满了以后自动提出最不常用的对象) 磁盘缓存(使用DiskLurCache,数据库SQLite缓存,文件缓存) Android 屏幕适配
* 判断 thingdate 的 dotime 天后是否在今天之后 374 * 判断testDate+testTime是否在两个时间之内 375 附录: 378 附录1、XML布局中的常用属性 378 1.通用属性 378 2.Edit Text部分属性 381 3.layout_...
Activity生命周期是Android应用开发中的核心概念,涉及到程序与用户交互的每一个阶段。在这个主题中,我们主要探讨Activity从创建到销毁的各个阶段,以及在这些阶段中如何进行适当的管理。 Activity有七个主要的...
当数据加载完成之后,调用`dismiss()`方法隐藏该对话框。 ### 三、禁止重力感应横屏竖屏 在某些应用场景下,可能需要固定屏幕的显示方向,以避免由于设备的倾斜而引起的屏幕旋转问题。这可以通过在`...
【标题】"安卓Android源码——oschina-android-app(开源中国).zip" 提供的是开源中国客户端应用的源代码,这为我们深入了解安卓应用程序的开发提供了宝贵的资源。开源中国作为一个国内知名的开源技术社区,其...
Understanding-the-Life-Cycle-of-an-Activity"项目中,开发者可能通过创建和操控`Activity`实例,观察各个生命周期方法的调用顺序,理解不同场景下`Activity`如何被创建、显示、隐藏和销毁,进一步提升Android应用...