以前用过一个红包锁屏的软件,第一次打开手机出现锁屏,滑动领取收益,当时觉得这功能不错,就查阅资料,写了一个案例,

apk运行流程: 进入软件---》启动服务---》关闭手机(可先退出应用)--》再打开手机即可看见锁屏界面

效果图:

当然这个案例还是有缺点的,没考虑性能问题。

界面是可以随意修改的,滑动的是一个自定义控件。

服务类

public class AppService extends Service {

    private AppReceiver mLockScreenReceiver;

    private IntentFilter mIntentFilter = new IntentFilter();
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
} @Override
public int onStartCommand(Intent intent, int flags, int startId) {
// 监听屏幕关闭和打开的广播必须动态注册
mIntentFilter.addAction(Intent.ACTION_BOOT_COMPLETED);
mIntentFilter.addAction(Intent.ACTION_SCREEN_OFF);
mIntentFilter.addAction(Intent.ACTION_SCREEN_ON);
mIntentFilter.addAction(Intent.ACTION_TIME_TICK);
// 设置广播的优先级
mIntentFilter.setPriority(Integer.MAX_VALUE);
if (null == mLockScreenReceiver) {
mLockScreenReceiver = new AppReceiver();
mIntentFilter.setPriority(Integer.MAX_VALUE);
registerReceiver(mLockScreenReceiver, mIntentFilter);
Toast.makeText(getApplicationContext(), "AppService", Toast.LENGTH_LONG).show(); }
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder.setTicker("APP正在运行");
builder.setAutoCancel(false);
builder.setContentTitle("APP正在运行");
builder.setContentText("您的收益正在累积");
builder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher));
builder.setSmallIcon(R.mipmap.ic_launcher);
builder.setContentIntent(PendingIntent.getActivity(this, 0, new Intent(this, LockScreenActivity.class), PendingIntent.FLAG_UPDATE_CURRENT));
Notification n = builder.build();
// 通知栏显示系统图标
startForeground(0x111, n); Parser.killBackgroundProcess(this);
return START_STICKY;
} @Override
public void onDestroy() {
if (mLockScreenReceiver != null) {
unregisterReceiver(mLockScreenReceiver);
mLockScreenReceiver = null;
}
super.onDestroy();
// 重启服务
startService(new Intent(this, AppService.class)); } }

源码有点多就不一一贴出来了,直接下载源码即可。

有兴趣的小伙伴可以参考,一起研究。

源码点击下载:https://github.com/DickyQie/android-system

android------锁屏(手机启动出现锁屏界面)的更多相关文章

  1. Android开发11——手机横屏和竖屏与android:configChanges

    目前大多数手机都支持重力感应随之而来的就是屏幕方向改变的问题.对应普通开发者来说屏幕的随意改变也会带来困扰.在Google自带的doc里可以看到,如果设备的配置(Resources.Configura ...

  2. 【Android】去除应用启动时黑屏现象

    http://www.eoeandroid.com/blog-1169143-47979.html 在AndroidManifest里面定义的时候,在启动的Activity,添加android:the ...

  3. android应用程序第一次启动时显示引导界面

    市面上好多优秀的应用(举例新浪微博.UC浏览器)都采用了欢迎页面与使用向导的方式给用户带来了良好的用户体验. 一般来说用户第一次安装应用或者安装了新版本后第一次进入应用都会显示成 欢迎页面-使用向导- ...

  4. Android仿微信QQ等实现锁屏消息提醒

    demo代码如下: import android.content.Intent; import android.os.Bundle; import android.support.v7.app.App ...

  5. android开发 锁屏 真正的锁屏,是go锁屏那种。

    想做个锁屏界面很久了,最近一周,历经千辛万苦,越过种种挫折,终于完美实现了这一要求,在此将锁屏思路分享出来. 注意:这不是什么一键锁屏,是类似“go锁屏”那样的锁屏界面. 准备:本程序共需要 两个ac ...

  6. android黑科技系列——修改锁屏密码和恶意锁机样本原理分析

    一.Android中加密算法 上一篇文章已经介绍了Android中系统锁屏密码算法原理,这里在来总结说一下: 第一种:输入密码算法 将输入的明文密码+设备的salt值,然后操作MD5和SHA1之后在转 ...

  7. Android Activity启动黑/白屏原因与解决方式

    Android Activity启动黑/白屏原因与解决方式 我们新建一个HelloWorld项目,运行在手机上时,Activity打开之前会有一个动画,而这个动画里是全白或者全黑的(取决于你的主题是亮 ...

  8. Xamarin.Android splash页面瞬间响应_避免APP启动闪白屏

    Application和Activity中的onCreate都进行了优化,基本没有耗时操作,但是启动应用之后还是会闪现一下白色背景,然后才进入Splash页面,对比了一下QQ.微信.微博等客户端,点击 ...

  9. Android 避免APP启动闪黑屏的解决办法(Theme和Style)

    前几天Boss就反应说,机器每次启动程序都会闪一下黑屏,这个客户不接受.没办法,只能想想怎么解决,最后找到了下面的方法.闪黑屏的原因主要是我们启动Activity的时候,需要跑完onCreate和on ...

随机推荐

  1. jstack生成的Thread Dump日志结构解析

    1 第一部分:Full thread dump identifier 2 第二部分:Java EE middleware, third party & custom application T ...

  2. js 内置对象和方法 示例

    JS内置函数不从属于任何对象,在JS语句的任何地方都可以直接使用这些函数.JS中常用的内置函数如下: 1.eval(str)接收一个字符串形式的表达式,并试图求出表达式的值.作为参数的表达式可以采用任 ...

  3. iOS xcode创建静态库封装自己的SDK及使用

    https://www.cnblogs.com/JustForHappy/p/5773039.html 一,静态库和动态库的区别在这里就不说了,个人感觉如果是自己封装提供别人下载的话应该是静态库比较方 ...

  4. Jsp中如何通过Jsp调用Java类中的方法

    Jsp中如何通过Jsp调用Java类中的方法 1.新建一个项目,在src文件夹下添加一个包:如:cn.tianaoweb.com; 2.再在包中添加一个类:如 package com; public ...

  5. C语言程序设计实习报告

    C语言程序设计实习报告 简介 语言实践心得体会范文在科技高度发展的今天,计算机在人们之中的作用越来越突出.而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此, ...

  6. Android实践项目汇报(总结)-修改

    天气客户端开发报告 1系统需求分析 1.1功能性需求分析 天气预报客户端,最基本就是为用户提供准确的天气预报信息.天气查询结果有两种:一种是当天天气信息,信息结果比较详细,除温度.天气状况外还可以提示 ...

  7. git分支 远程协作

    创建文件mkdir ### cd ### git init 初始化 git config global user.name “username” git config global user.emia ...

  8. Python3基础 while 阶乘

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  9. Asp.net简单概念知识

    1. 简述 private. protected. public. internal 修饰符的访问权限.答 . private :   私有成员, 在类的内部才可以访问.      protected ...

  10. PHP获取当前页面的网址

    PHP获取当前页面的网址 function GetCurUrl() { $url = 'http://'; if(isset($_SERVER['HTTPS']) AND $_SERVER['HTTP ...