禁用 Keyguard 和 START STICKY 不适用于 BlackBerry 的 Android

Posted

技术标签:

【中文标题】禁用 Keyguard 和 START STICKY 不适用于 BlackBerry 的 Android【英文标题】:Disable Keyguard and START STICKY not working with Android for BlackBerry 【发布时间】:2014-10-07 09:42:47 【问题描述】:

我正在尝试将 android 应用程序移植到 BB,但我遇到了一些问题。首先,当这个应用程序启动时,它会创建一个服务来监听某些事件,无论应用程序是在前台还是后台。如果服务被杀死,我希望它自动重启。这是我在服务本身中的代码:

public int onStartCommand(Intent intent, int flags, int startId) // 这里的其他代码...

 // this will restart service if killed.  
return START_STICKY

这在 Android 中按预期工作,但不会在 BB 上重新启动服务。有没有人经历过这个?

其次,如果设备关闭,我会尝试重新启动活动。因此,我创建了一个唤醒锁来打开屏幕,然后禁用键盘锁,最后启动活动。不幸的是,我无法禁用键盘保护。我的禁用键盘保护的代码如下,有人遇到过吗?

KeyguardManager Keylockmgr = (KeyguardManager)getSystemService(KEYGUARD_SERVICE); Keylockmgr.newKeyguardLock("我的标签").disableKeyguard();

任何帮助将不胜感激!

【问题讨论】:

【参考方案1】:

这在 Android 中按预期工作,但不会在 BB 上重新启动服务。有人经历过吗?

引用 BlackBerry 文档:

后台服务:应用程序只能在用户运行服务时运行服务,无论是全屏还是缩略图模式。

现在,我对“缩略图模式”有点模糊,但我对此的解释是START_STICKY 将被忽略。

很遗憾,我无法禁用键盘保护

根据the BlackBerry documentation,不支持DISABLE_KEYGUARD

【讨论】:

以上是关于禁用 Keyguard 和 START STICKY 不适用于 BlackBerry 的 Android的主要内容,如果未能解决你的问题,请参考以下文章

Fire Stick 4k - ADB 隐藏更新(禁用更新)权限错误

主页按钮禁用

洞悉Android Keyguard

Keyguard分析

使用 WindowManager.LayoutParams.TYPE_KEYGUARD 时,最小目标必须小于 14

单击时禁用按钮