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

10

我有一个想法,想要创建一个类似于安卓图案锁的手机锁屏应用程序。我需要在手机启动/重新启动/锁屏/解锁时显示或启动我的应用程序。我不知道如何让应用程序代替默认的锁屏界面并隐藏它。

所以我的问题是:

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

这有什么帮助?

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

这对你有什么帮助?

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

你可以检查我的答案,我认为它会帮助你实现你想要的 https://dev59.com/zWEh5IYBdhLWcg3w0WRP#28603790 - Miguel
1个回答

22

你需要在第2个问题中使用第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);

参考: 程序化地回到主屏幕

最后,我想给你提供一些链接,可能会帮助你制作自定义锁屏:


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接