如何在Android中制作我们自己的锁屏而不是默认锁屏

Sre*_*lai 9 java boot android lockscreen

我有一个想法创建我自己的手机锁应用程序类似于Android模式锁.每当手机启动/重启/手机,锁定/电话和解锁时,我都需要显示或启动我的应用程序.我不知道如何使应用程序显示而不是默认锁定屏幕并隐藏默认锁定屏幕.所以我的问题是:

  1. 如何显示或启动我的应用程序而不是默认锁定屏幕
  2. 什么是

    getWindow().addFlags(
      WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | 
      WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | 
      WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | 
      WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
    
    Run Code Online (Sandbox Code Playgroud)

这有用吗?

  1. 什么是

    public class BootReciever extends BroadcastReceiver {
    
        @Override
        public void onReceive(Context context, Intent intent) {
            if (intent.getAction() != null) {
                if (intent.getAction().equals(Intent.ACTION_USER_PRESENT)) {
                Intent s = new  Intent(context,ViewPagerMainActivity.class);
                s.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                context.startActivity(s);
                }
            }
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

这有用吗?

  1. 在我的应用完成其工作后,您如何显示主页?

rid*_*doy 18

您在第2点中使用的代码应该用作问题的答案1.参考是Android活动超过默认锁定屏幕.

对于问题2,请参阅以下相关链接:

在回答你的问题3之前,我想问你,你有关于BroadcastReceiver的知识吗?简而言之,它是 -

广播接收器(短接收器)是一个Android组件,允许您注册系统或应用程序事件.一旦发生此事件,Android运行时将通知所有已注册的事件接收器.

例如,应用程序可以注册ACTION_BOOT_COMPLETED系统事件,该事件在Android系统完成引导过程后触发.

现在来看你的问题4,你可以通过以下代码以编程方式显示主页:

Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
Run Code Online (Sandbox Code Playgroud)

参考:以编程方式进入主屏幕

最后,我想为您提供一些可以帮助您制作自定义锁定屏幕的链接: