因此基于https://developer.amazon.com/help/faq.html#KindleFire Kindle Fire不支持disable_keyguard权限。
但我希望我的应用程序在普通的Android设备和kindle上运行。这个问题有什么简单的解决方案吗?
此权限是必须的,所以我不能将其从应用程序中删除。
答案 0 :(得分:3)
你可以用try catch包围disableKeyguard()调用,并在那里执行一些额外的逻辑。
KeyguardManager kgm = (KeyguardManager) Application.getSystemService(Application.KEYGUARD_SERVICE);
KeyguardManager.KeyguardLock kl = kgm.newKeyguardLock(VIEW_LOG_TAG);
try{
kl.disableKeyguard();
}
catch (SecurityException e)
{
//kindle code goes here
}
答案 1 :(得分:0)
不确定您的应用程序的上下文是什么,但Wake Lock?怎么样这可能会花费您一些电池寿命。
答案 2 :(得分:0)
您需要两个版本的应用,一个用于Fire,另一个用于现有目标。您可以通过将大部分逻辑放在Android库项目中来实现这一目标,该项目在两个常规Android项目之间共享(一个具有键盘保护功能,一个没有)。