博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android------锁屏(手机启动出现锁屏界面)
阅读量:6089 次
发布时间:2019-06-20

本文共 2275 字,大约阅读时间需要 7 分钟。

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

 

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));                    }}

 

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

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

 

源码点击下载:

 

转载地址:http://ngpwa.baihongyu.com/

你可能感兴趣的文章
django 分页
查看>>
JavaScript的语法
查看>>
tomcat高并发配置调优
查看>>
Android 自定义view里面的一些东西
查看>>
PHP get_html_translation_table() 函数
查看>>
H3C交换机设置DHCP中继的过程
查看>>
文本框下绑定DIV下拉复选框
查看>>
Sublime Text 2.0 正式版:非常给力的代码编辑器
查看>>
闰年怎么判断
查看>>
Famous Remark
查看>>
关于运算符
查看>>
三角形
查看>>
dnspython模块安装
查看>>
C++设计模式
查看>>
rpm、yum管理及源码安装程序包
查看>>
python脚本 对批量机器执行命令和发送文件
查看>>
Linux下修改IP、DNS、路由设置
查看>>
10个经典的Java main方法面试题
查看>>
5G基站250米左右一个吗?
查看>>
MySQL主从复制
查看>>