创建一个安卓锁屏应用。

Posted

技术标签:

【中文标题】创建一个安卓锁屏应用。【英文标题】:Creating an Android Lock Screen App. 【发布时间】:2014-01-23 11:16:24 【问题描述】:

如何创建一个锁屏应用来充当安卓手机的锁。我确实找到了一个,但它的代码结构很糟糕,如果我按下物理主页键,它就会解锁,使应用程序毫无意义。

我确实遇到过一个论坛,指出在 android 4.x 中删除了一些阻止主页按钮功能的方法

然而,我有一个很棒的锁屏想法,但没有开始的基础。如果有人对此主题有任何了解,我很想听听。

谢谢大家 :-)

【问题讨论】:

嗯,我想会有某种暗示这有多难,我的意思是,例如市场上有不守规矩的数量,让我相信有相当数量的开发人员可以,你会继续相信他们会是某种教程! 查看此链接...forum.xda-developers.com/showthread.php?t=1754753 一个可以真正禁用切换的屏幕将是一个可怕的安全漏洞。 是的,我已经做过这种项目,很有可能。需要清单权限以及 bootupreceiver 和其他一些东西。如果你想要代码,请告诉我。 @SatyakiMukherjee 你能分享你的源代码吗? 【参考方案1】:

是的,这是可能的。这是来自 GitHub 的简单锁屏Source Code

创建一个像锁一样工作的应用程序没什么大不了的,但正如你所说的 Home 键问题,我建议你继续开发应用程序,尽可能多地开发应用程序,你唯一会卡住的地方是主页键控制因此,尝试找到一些棘手的方法来控制主页键并将其用作锁定应用程序的应用程序启动器。它不是很复杂,但有点棘手。如果我能找到任何 Home 键访问源代码,我会发布给你

PS:

这里是访问Home Key的教程

我在某处发现了 home 键覆盖。在 App Manifest 中添加这些行。

以下两行将发挥作用

 <action android:name="android.intent.action.MAIN" />              
        <category android:name="android.intent.category.HOME" />                 
        <category android:name="android.intent.category.DEFAULT" />               

并在您的活动中覆盖此方法

@Override
public void onAttachedToWindow() 
    super.onAttachedToWindow();
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);           


@Override
public boolean onKeyDown(int keyCode, KeyEvent event) 
    if(keyCode == KeyEvent.KEYCODE_HOME)
    
        Log.i("Home Button","Clicked");
    
    if(keyCode==KeyEvent.KEYCODE_BACK)
    
        finish();
    
    return false;

请记住,我没有测试这些代码或方法,只是想帮助您(您可能会发现一些缺点)。

PS:根据投票,我可以保证我的建议是有效的,您可以在上述帮助下开发这样的应用程序:)

【讨论】:

Home 键解决方案正在部分工作。只有当用户同意将您的应用定义为此操作的回调应用时,它才会覆盖主页按钮。 是的先生,我们在安卓应用中所做的每一个动作都必须经过用户的批准!我觉得这没什么大不了的? 好吧,您不需要用户的批准即可覆盖“后退”按钮。用户会认为我的应用可以自行控制“主页”按钮,而不会指望它要求我选择哪个应用应该控制主页按钮。 只需使用Adenda SDK。它本质上扩展了标准的 Android 库,让您的事情变得更简单 @CigogneEveillee adendamedia.com/#intro 他们提供 sdk 或应用程序吗?你能解释一下吗

以上是关于创建一个安卓锁屏应用。的主要内容,如果未能解决你的问题,请参考以下文章

如何设置安卓锁屏图片

安卓如何双重锁屏

安卓手机怎么设置锁屏密码?

安卓手机怎么设置锁屏密码?

怎么样设置安卓手机锁屏密码

安卓设置锁屏时预览消息内容