Android作为一个新兴的手机智能操作系统已经越来越热门,关于Android平台下的开发也是五花八门,最近做了一个Android手机屏保软件,分享一下,不正之处请大家多多指教。
大致的过程是这样的:首先有一个Service,当然这个Service在主Activity中启动,在Service中注册一个receiver,该receiver 监听系统的Screen Off(即屏幕关闭) 事件,当然在Service中要关闭原有的屏保(关闭系统屏保需要再配置文件中获得权限)。然后在onReceive方法中启动自己的屏保Activity。有一点需要注意到得是Screen off 事件不能在AndroidManifest.xml配置文件中注册,现在还不清楚这是什么原因,多以receiver必须在java代码中声明和注册。
下面附上部分代码:
Service:
这两个变量主要是为了关闭系统原有屏保,下面将用到
KeyguardManager mKeyguardManager=null;
private KeyguardLock mKeyguardLock=null;
关闭系统屏保:
mKeyguardManager= (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);
mKeyguardLock= mKeyguardManager.newKeyguardLock("");
mKeyguardLock.disableKeyguard();
注册receiver:
BroadcastReceiver mMasterResetReciever= new BroadcastReceiver() {
public void onReceive(Context context, Intent intent){
try{
Intent i = new Intent();
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.setClass(context, MyScreenSaver.class);
context.startActivity(i);
//finish();
}catch(Exception e){
Log.i("Output:", e.toString());
}
}
};
registerReceiver(mMasterResetReciever, new IntentFilter(Intent.ACTION_SCREEN_OFF));
可以看到在receiver的onReceive()函数中启动一个屏保Activity。
之后我们需要再配置文件中申请权限:
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"></uses-permission>
将屏保Activity完成,程序就可以运行啦!!
附:
将Activity全屏显示的方法:
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags
(
WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN
);
setContentView(R.layout.main);
注意:
setContentView(R.layout.main);全屏代码之后,否则无效
任意键关闭屏保Activity可以通过重写onKeyDown()函数来实现:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event){
super.onKeyDown(keyCode, event);
finish();
return true;
}
大功告成!!
分享到:
相关推荐
**MFC开发的屏幕保护软件**是利用Microsoft Foundation Classes (MFC) 框架创建的一个应用程序,旨在防止显示器长时间静止导致的屏幕坏点。屏幕保护程序的主要目的是通过周期性地改变屏幕显示来减少固定图像对屏幕...
总的来说,这个话题涉及到了个人计算机应用开发、屏幕保护技术、编程语言和用户界面设计等多个IT领域的知识点。通过使用和学习这样的DIY屏保软件,用户不仅可以创造出独一无二的屏保,还能提升自己的编程和设计技能...
C#是一种面向对象的编程语言,由微软公司推出,广泛应用于Windows平台上的软件开发,包括桌面应用、Web应用以及游戏开发等。创建C#屏幕保护程序涉及到的主要知识点有: 1. **WinForms**:C#中的WinForms框架是开发...
Watermill 3D屏幕保护软件是由全球知名的3D屏保公司3PLANESOFT开发的一款产品。作为该领域的领头羊之一,3PLANESOFT以其高质量、视觉效果震撼的3D屏幕保护程序而闻名于世。Watermill 3D屏保不仅在技术上达到了业界...
标题中的“vc屏幕保护程序”指的是使用...以上就是关于“vc屏幕保护程序”的相关知识点,涵盖了从编程语言到软件开发的多个层面。通过学习和实践,你可以提升自己的编程技能,并对Windows系统应用开发有更深入的理解。
- 屏幕保护程序是一种临时改变屏幕显示状态的软件,通常在用户无操作一段时间后自动启动。 - 它们通过显示动态图像或执行简单的动画来避免显示器长时间显示静态图像,从而减少对显示器像素的损害。 - 在Windows...
在IT行业中,软件开发是一项复杂而关键的任务,它不仅涉及到技术层面,更关乎用户体验和人机交互。"人性化的软件开发"这一主题旨在探讨如何在技术实现的基础上,充分考虑用户需求,提供更加贴心、易用的产品。这不仅...
《VC屏幕保护程序:超酷体验与开发...通过研究“vc屏幕保护(超酷)”这个实例,我们能够了解到屏幕保护程序开发的基本流程和技巧,这对于任何想要在Windows平台上开发个性化软件的开发者来说都是一次宝贵的学习机会。
时钟屏保软件是一种在计算机不活动时自动激活的屏幕保护程序,它的主要功能是展示时间,同时为用户带来美观的视觉效果。这类软件通常具备个性化定制的特点,允许用户根据自己的喜好选择不同的时钟样式、颜色和动画...
在Windows XP中,这涉及到屏幕保护程序接口的使用,以及设置和启动屏保的逻辑。 5. **兼容性优化**:考虑到XP系统相对较低的硬件配置,屏保软件需要进行优化,以确保在各种设备上都能流畅运行,同时保持图像质量。 ...
VC++是微软推出的一种集成开发环境,支持C++语言,广泛应用于Windows平台的软件开发。它提供了强大的调试工具、丰富的库支持以及直观的用户界面设计工具,使得开发者能够高效地创建桌面应用、系统级服务以及游戏等。...
综上所述,"超人奥特曼版江南style超级搞笑视频屏保软件"结合了多媒体技术、视频处理、屏幕保护程序开发、跨文化交流、编程和用户体验设计等多个领域的知识,为用户提供了富有创意和娱乐性的产品。
在本资源中,我们主要关注的是使用Visual C++(简称VC++)编写的屏幕保护程序,其源代码被封装在一个名为"vc编写.scr屏保程序 源代码.zip"的压缩包内。这个压缩包包含了开发此类程序所需的多个关键文件,让我们逐一...
远程协助软件开发是一种技术,它允许用户通过网络连接到另一台设备上,进行实时的桌面共享、文件传输、视频通信以及设备控制。这种技术在IT支持、协作开发、远程工作和工业自动化等领域广泛应用。"远程协助软件开发....
此外,为了确保系统的安全,只应从可信来源下载并安装屏幕保护程序,避免潜在的恶意软件风险。在安装任何外部软件之前,最好先检查文件的来源和用户评价,确保其无病毒且兼容你的Windows版本。 总的来说,这款"屏幕...
6. **泡泡屏保.e**:这是一个已经编译好的屏幕保护程序实例,可能是用易语言编写并编译后的可执行文件。通过反编译或反汇编工具,我们可以分析其内部工作原理,学习如何在易语言中实现类似的屏幕保护效果。 7. **...
在Windows系统中,这通常涉及到修改"控制面板"中的"个性化"设置,选择"屏幕保护程序"选项,并在列表中选择已安装的Maya屏保。 值得注意的是,Maya屏幕保护程序可能需要较高的硬件配置,因为它们在运行时会消耗大量...
远程教育软件开发是近年来随着互联网技术发展而兴起的一个重要领域,尤其在全球化和数字化进程中扮演着关键角色。在“远程教育软件开发资料”这个主题中,我们可以深入探讨以下几个关键知识点: 1. 远程教育的概念...