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

时间:2014-07-06 17:49:21

标签: java android boot 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);
    
  3. 这有用吗?

    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);
                  }
              }
          }
      }
      
    2. 这有用吗?

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

1 个答案:

答案 0 :(得分:18)

您在第2点中使用的代码应该用作问题的答案1.参考是Android activity over default lock screen

对于问题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);

参考:Going to home screen programmatically

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