就像标题所说的那样,我惊讶地发现FLAG_disMISS_KEyguard标志在API 21(Lollipop)上不再起作用.
在kitkat中,设置此标志将关闭不安全的键盘锁.
那是功能还是错误?解决方法是什么?
通过PowerManager类禁用键盘锁是一个选项,但它不能像解除样式一样工作.它可以?
解决方法:
第一:这是一个错误.
第二,是否有解决方法?是.
因为我很困惑这个问题,甚至Google都不知道这个问题,
我对如何解决此问题进行了广泛的研究.
这很容易.该错误可能是因为键盘锁已注册两个
次android实习生.
诀窍是开始正手进行跑步前的活动,听
屏幕上的广播,解雇键盘锁并开始真正的意图
活动.
码:
public class KeyguarddismissActivity extends Activity { private ScreenOnReceiver receiver; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LOG.d("Start keyguard dismisser!"); if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LolliPOP) { startActivity(new SomeOtherActivityIntent(getApplicationContext())); finish(); return; } this.getwindow().addFlags(WindowManager.LayoutParams.FLAG_disMISS_KEyguard); receiver = new ScreenOnReceiver(); registerReceiver(receiver, receiver.getFilter()); } private voID dismissingKeyguard() { LOG.d("dismissing keyguard!"); SomeOtherActivityIntent yourRealActivity = new SomeOtherActivityIntent(getApplicationContext(), this); startActivity(yourRealActivity ); if (receiver != null) { unregisterReceiver(receiver); } finish(); } private class ScreenOnReceiver extends broadcastReceiver { @OverrIDe public voID onReceive(Context context, Intent intent) { LOG.d("Screen on, yay!"); dismissingKeyguard(); } public IntentFilter getFilter() { IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_SCREEN_ON); return filter; } }}
在您的实际活动中,您还必须添加dismiss标志!
问候.
总结以上是内存溢出为你收集整理的FLAG_DISMISS_KEYGUARD不再适用于Android Lollipop吗?全部内容,希望文章能够帮你解决FLAG_DISMISS_KEYGUARD不再适用于Android Lollipop吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)