博观而约取,厚积而薄发。这篇文章主要讲述android------锁屏(手机启动出现锁屏界面)相关的知识,希望能为你提供帮助。
【android------锁屏(手机启动出现锁屏界面)】以前用过一个红包锁屏的软件,第一次打开手机出现锁屏,滑动领取收益,当时觉得这功能不错,就查阅资料,写了一个案例,
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粘性控件,滑动停留StickLayout(导航栏滑动停留)
- 深入理解计算机系统_3e 第十一章家庭作业 CS:APP3e chapter 11 homework
- Android逆向系列文章— Android基础逆向
- Android Studio打开React Native创建的项目
- 2018是否成为购物APP新元年
- 智慧社区需要定制APP助力发展
- 《android开发进阶从小工到专家》读书笔记--网络框架的设计与实现
- 《android开发进阶从小工到专家》读书笔记--HTTP网络请求
- 从零開始的Android新项目7 - Data Binding入门篇