- 浏览: 499614 次
- 性别:
- 来自: 福州
文章分类
- 全部博客 (165)
- iphone (2)
- android (13)
- 设计模式 (8)
- ND实习小记之Android (63)
- mac使用技巧 (1)
- window phone (1)
- 错误总结 (2)
- 开发记录 (6)
- Android控件常用属性 (7)
- 代码管理工具 (5)
- 黑莓开发 (2)
- Eclipse (9)
- Android实践项目 (6)
- 常用布局 (1)
- 自定义Widget (5)
- adapter (2)
- OsChina Android客户端研究 (1)
- android之我见 (4)
- Java相关 (1)
- 存储 (1)
- 调试 (1)
- NDK相关 (2)
- App Components (7)
- Android_提醒 (2)
- Android_存储 (0)
- Android_线程 (3)
- Android控件使用实例 (5)
- 键盘相关 (1)
- android之我见,源码 (1)
最新评论
-
xy_feng_zhi_chao:
多谢楼主分享
Android中使用styles -
michaelye1988:
soldier93 写道无关素质,我只发表自己的看法!既然你发 ...
如何在window上把你的项目提交到github -
soldier93:
无关素质,我只发表自己的看法!既然你发表了博客我就有权对其评价 ...
如何在window上把你的项目提交到github -
michaelye1988:
soldier93 写道laji 素质真低
如何在window上把你的项目提交到github -
soldier93:
laji
如何在window上把你的项目提交到github
不是QQ的那种效果,我实现的是:当用户点击BACK键的时候,拦截这个事件,弹出一个对话框,提示用户是否退出,如果用户点击是,则退出。当用户点击HOME键。这时候在状态栏上面发送一个提醒,表示程序还在运行。
public class TestNotificationActivity extends Activity { private NotificationManager notificationManager; private Notification notification; private Button btnExit; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); notification = new Notification(R.drawable.ic_launcher, "", System.currentTimeMillis()); btnExit = (Button)findViewById(R.id.btn_exit); btnExit.setOnClickListener(new BtnExitClickedListener()); Log.d("11111111111", "Oncreate"); //notificationManager.cancelAll(); } class BtnExitClickedListener implements OnClickListener { public void onClick(View v) { notificationManager.cancelAll();//清理notification android.os.Process.killProcess(android.os.Process.myPid());//整个结束掉 } } public boolean onKeyDown(int keyCode, KeyEvent event) { // if(keyCode==KeyEvent.KEYCODE_HOME ) // { // Log.d("home", "home"); // // flag = true; // finish();//实际上这里已经将应用程序杀死了。而从notification中启动只是启动指定的Activity。程序已经死掉了。返回键同样道理 // // //return true; // } if(keyCode == KeyEvent.KEYCODE_BACK ) { showDialog();//调用对话框 Log.d("back", "back"); // return true; } return super.onKeyDown(keyCode, event); } // @Override // // //要有这个监听home键才可以实现 // public void onAttachedToWindow() // // { // TODO Auto-generated method stub // // this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); // // super.onAttachedToWindow(); // // } /**如果用户按下home键,会调用onStop()。发送一个通知。在这个通知里面就可以回到原来的界面,而不会调用onCreate方法*/ @Override protected void onStop() { notification.flags = Notification.FLAG_ONGOING_EVENT;//这个表示在运行中 Intent notificationIntent = new Intent(TestNotificationActivity.this, TestNotificationActivity.class);//这个实际上只是指定启动一个Activity notificationIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT); notification.setLatestEventInfo(this, "哇哈哈","哥在运行中...", contentIntent); notificationManager.notify(R.drawable.ic_launcher, notification); Log.d("111111111", "onStop"); super.onStop(); } /** 重新获得焦点的时候清理notification*/ @Override protected void onResume() { notificationManager.cancelAll(); super.onResume(); } /** 创建一个对话框,确认是否退出*/ private void showDialog() { new AlertDialog.Builder(this).setTitle("是否退出应用程序?") .setPositiveButton("确定", new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog, int which) { finish(); } }).setNegativeButton("取消", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { } }).show(); } }
发表评论
-
工程导入出错
2012-06-28 12:10 965经常导入工程的时候会发现sdk jar包没有导入 一般的做法 ... -
android 中dip sp的使用
2012-06-13 14:53 1026Historically, programmers alway ... -
按钮点击效果 父控件 响应事件
2012-06-06 15:05 3540tv.setClickable(false); tv.set ... -
view 播放动画
2012-05-22 14:11 9481.首先可以使用EasyGifAnimator,将gif ... -
短信中加入表情
2012-05-17 15:54 1223/** * 来自博客:http://gundumw1 ... -
通讯录相关
2012-05-08 20:56 16381.查看所有联系人信息 ContentResolver c ... -
横向 纵向结合的ScrollView
2012-05-08 11:46 2689就是HorizontalScrollView和ScrollVi ... -
让view弹出菜单 onCreateContextMenu
2012-05-08 10:27 2525Button btn = (Button)findViewBy ... -
设置动画效果
2012-05-07 17:44 10201.动画文件layout_animation_row_left ... -
布局文件绘制圆角矩形 背景图片
2012-04-25 16:29 7032<?xml version="1.0&q ... -
ListView getView生成Item
2012-04-19 18:11 1551很简单的啦: public class Generat ... -
代码生成控件和布局
2012-04-18 18:15 1254最简单的,存在布局文件的时候: @Override ... -
添加jar包到项目中去
2012-04-18 10:41 1124先在项目中新建一个名为“lib”的文件夹 将你的 ... -
监听按钮(软键盘和物理按钮)
2012-04-12 20:51 1175本人测试的 可以监听到软键盘的回车按钮 以及手机的物理按钮 ... -
Android View.startAnimation()动画
2012-04-12 20:05 192301. Animation animation = ... -
获得View的大小
2012-04-09 20:17 1029在onCreate()中 mapView.post(ne ... -
让ListView回到原来的位置
2012-04-06 15:17 1764当从ListView中的某一个Item跳转到其他的Activi ... -
StartActivityForResult实现确认对话框
2012-04-06 11:46 25971. llDelete.setOnClickListener ... -
屏蔽返回键
2012-04-01 19:42 980/** * 屏蔽用户的返回键, ... -
调用系统发送邮件,短信,拨打电话,浏览器
2012-04-01 15:07 15561.发送邮件 /** * 调用这个方法,发送邮 ...
相关推荐
通过在Runloop中添加观察者,我们可以在程序即将退出时获取通知,并采取措施防止奔溃。 以下是一个使用Runloop防止奔溃的例子: ```objc - (void)applicationWillResignActive:(UIApplication *)application { //...
在单词记忆程序中,可能需要在适当的时候保存用户的学习状态,防止意外退出时丢失数据。 九、异步处理 考虑到Android应用的性能和用户体验,对数据库的操作或网络请求通常会在后台线程(如AsyncTask)中执行,以...
服务可以防止在用户退出应用后失去监听功能。同时,可能还会有一个通知栏通知(Notification),以便用户知道应用正在运行并监听。 此外,为了实现完整的毕业设计,源码可能还包括了UI设计,比如设置界面供用户开启...
在Android开发中,`LocalService` 是一个常用于在同一个应用程序内部进行组件间通信的机制。这个机制允许一个服务(Service)与应用的其他部分,如Activity或BroadcastReceiver,进行高效且安全的数据交换。在标题...
此外,在应用程序退出时也应调用相应的终止方法,释放资源并关闭连接。 #### 4.4 加密ConsumerKey/Secret 为了保护应用程序的身份验证信息,需要对Consumer Key和Secret进行加密处理。这一步骤非常重要,可以防止...
如果捕获到键盘中断(如按下Ctrl+C),程序将优雅地退出;若出现其他异常,也会打印错误信息。 这段代码展示了如何利用Python自动化处理日常任务,例如监控即时通讯软件中的消息。虽然这个例子是针对微信,但`ui...
为了防止被系统停止,可以在Service中创建一个Notification,让用户知道服务正在运行。 ```java startForeground(NOTIFICATION_ID, notification); ``` 4. **WakeLock**: PowerManager.WakeLock可以防止设备进入...
在iOS开发中,UIApplication是应用程序的核心对象,它管理着整个应用程序的生命周期,包括启动、运行、暂停、恢复和退出等过程。UIApplication不仅控制着应用程序窗口(UIWindow)和视图控制器(UIViewController)...
- **描述**: 在退出应用程序前,需要调用`SnmpCleanup`函数来清理WinSNMP环境。这一步骤非常重要,因为它会释放所有与WinSNMP环境相关的资源。 #### 二、WinSNMP环境的一般编程概念 除了上述的核心编程任务之外,...
6. **实时推送**:为了实现即时消息通知,QQ可能会利用推送服务,如APNs(Apple Push Notification Service)或GCM(Google Cloud Messaging,现为Firebase Cloud Messaging)。这样,即使应用程序在后台运行,也能...
同时,为了防止屏保与正常应用间的交互问题,需要处理好屏幕解锁后的逻辑,例如使用`FLAG_SHOW_WHEN_LOCKED`和`FLAG_DISMISS_KEYGUARD`标志来控制屏保的显示和隐藏。 5. **TV菜单程序的自动关闭**:对于TV应用,...
6. **App生命周期管理**:了解应用如何启动、运行、暂停、恢复和退出,以及如何处理内存警告。 7. **Core Data**:苹果提供的数据持久化框架,用于存储和管理应用的数据。 8. **网络编程**:包括使用URLSession...
- `Notification`:应用可能监听特定的通知(如系统进入或退出夜间模式),以便在适当的时候切换到相应的主题。 - `Appearance Proxy`:对于不支持`UIAppearance`的自定义视图,可以通过代理对象来改变它们在夜间...
在Android开发中,Service是应用程序组件之一,它在后台长时间运行,即使用户界面不在活动状态。ServiceSample是一个经典的Android学习项目,旨在帮助开发者深入理解如何在Android应用中使用Service组件。这个压缩包...
"AndroidPN 服务端和Android端源代码"是关于Android Push Notification(AndroidPN)系统的一套开源实现,它包括服务端和客户端两部分。这个项目主要用于帮助开发者实现在Android设备上进行远程消息推送,这对于实时...
本教程将深入探讨如何利用Service组件在Android设备上实现文件的后台下载,确保即使用户退出应用程序,文件下载也能继续进行。 ### 1. Android Service基础知识 Service是Android四大组件之一,它在后台运行,没有...
本项目标题“android在线聊天”表明我们要探讨的是如何在Android设备上开发一款能够支持实时通信的应用程序。描述中的“安卓客户端在线聊天”进一步强调了我们的关注点在于客户端的实现,而非服务器端。 首先,我们...
5. **KEYCODE_BACK** (返回键):键值为4,是Android中最常用的功能键之一,用于返回上一级界面或退出当前应用。 6. **KEYCODE_SEARCH** (搜索键):键值为84,通常用于启动设备上的搜索引擎或在当前应用中执行搜索...
7. **本地存储**:为防止网络断开或应用退出导致数据丢失,购物车内容通常会保存在本地,如使用UserDefaults或CoreData。 8. **通知与代理**:项目中可能使用了Notification或Delegate机制,让不同界面或模块之间...
在AIX操作系统环境下,HACMP用于管理和保护集群中的应用程序和服务,而Oracle RAC则是在多台服务器上共享同一个数据库实例的解决方案。 首先,我们来理解HACMP。HACMP是IBM为企业级AIX环境设计的一种集群技术,它...