Android 安卓-我的活动打破了锁屏
所以我有一个活动在我的锁屏上。但当我离开它时,它打破了我的锁屏。好吧,不是真的。。。但我无法再次成功锁定手机。我必须重新启动它。我觉得我只是忘了在我的onDestroy里放些东西——就像我必须在锁屏完成后重新命名锁屏一样。Idk。有什么问题 锁屏活动:Android 安卓-我的活动打破了锁屏,android,android-activity,lockscreen,ondestroy,Android,Android Activity,Lockscreen,Ondestroy,所以我有一个活动在我的锁屏上。但当我离开它时,它打破了我的锁屏。好吧,不是真的。。。但我无法再次成功锁定手机。我必须重新启动它。我觉得我只是忘了在我的onDestroy里放些东西——就像我必须在锁屏完成后重新命名锁屏一样。Idk。有什么问题 锁屏活动: @Override public void onCreate(Bundle icicle){ super.onCreate(icicle); setContentView(R.layout.lockscreen); get
@Override
public void onCreate(Bundle icicle){
super.onCreate(icicle);
setContentView(R.layout.lockscreen);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON|
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);//gotta get it to open on lock screen
ImageView iv = (ImageView)findViewById(R.id.Background);
//iv.getBackground().setAlpha(50);
Button close = (Button)findViewById(R.id.Close);
close.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
finish();
}
});
KeyguardManager km = (KeyguardManager)getSystemService(KEYGUARD_SERVICE);
final KeyguardManager.KeyguardLock kl = km.newKeyguardLock("IN");
kl.disableKeyguard();
PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE);
PowerManager.WakeLock wl=pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.FULL_WAKE_LOCK, "My_App");
wl.acquire();
/*Builder adb = new AlertDialog.Builder(this);
adb.setMessage("Testing");
adb.setCancelable(false);
adb.setNeutralButton("Close",new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
kl.reenableKeyguard();
}
});
AlertDialog ad = adb.create();
ad.show();*/
wl.release();
}
如你所见,我刚完成活动。我是不是忘了做点什么
谢谢哇。。。就这么简单:
kl.reenableKeyguard();
放置这是取消它的按钮:
@Override
public void onClick(View v) {
kl.reenableKeyguard();
finish();
}
但仍在试图找出如何通过“后退”按钮使其不可取消
编辑:
似乎我不需要吉隆坡的决赛。这就是你要做的:
KeyguardManager.KeyguardLock kl;
@Override
public void onDestroy(){
kl.reenableKeyguard();
super.onDestroy();
}
@Override
public void onCreate(Bundle icicle){
super.onCreate(icicle);
setContentView(R.layout.lockscreen);
KeyguardManager km = (KeyguardManager)getSystemService(KEYGUARD_SERVICE);
kl = km.newKeyguardLock("IN");
kl.disableKeyguard();
}
仅适用于将来需要此功能的任何人。根据您的要求,您应该使用此功能解除锁定。我对这些课程没有任何经验来了解它们之间的区别,因此将其作为评论而不是答案发布。问题是,如果我使用键盘,我认为现在发生的事情将继续发生。。。因为它说它关闭了键盘,再也不会出现了。