【发布时间】:2012-03-11 02:39:59
【问题描述】:
所以我的锁屏上有一个活动。但是当我退出它时,它会破坏我的锁屏。好的,不是字面意思......但我无法再次成功锁定我的手机。我必须重新启动它。我觉得我只是忘记在我的 onDestroy 中放一些东西 - 就像我必须在完成后重新设置锁屏。同上。有什么问题?
锁屏活动:
@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();
}
如你所见,我刚刚完成了活动。我是不是忘记在 onDestroy 上做点什么了?
谢谢
【问题讨论】:
-
根据developer.android.com/reference/android/app/…,您应该使用developer.android.com/reference/android/view/… 解除锁定。我对这些课程没有任何经验来了解其中的区别,因此发布为评论而不是答案。
-
问题是,如果我使用关闭键盘,我认为现在正在发生的事情将继续发生......因为它说它关闭键盘并且永远不会再出现。
标签: android android-activity lockscreen ondestroy