首页 > 代码库 > 怎样在安卓中实现在锁屏状态下弹出对话框,并可以震动和铃声,就像闹钟似的?
怎样在安卓中实现在锁屏状态下弹出对话框,并可以震动和铃声,就像闹钟似的?
============问题描述============
我想要在应用弹出对话框,程序在后台运行,当达到条件后弹出对话框并有震动和铃声,但是在锁屏状态下却没反应,有什么办法解决吗?
============解决方案1============
// 解锁 KeyguardManager manager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE); if( manager.inKeyguardRestrictedInputMode() ){ //处于锁定界面,界面则通过KeyguardLock类方法来解锁 KeyguardLock keyguard = manager.newKeyguardLock(getLocalClassName()); keyguard.disableKeyguard(); }
解锁需要权限:
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
//点亮屏幕 PowerManager pm = (PowerManager)getSystemService(POWER_SERVICE); mWakelock = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP |PowerManager.SCREEN_DIM_WAKE_LOCK, "SimpleTimer"); mWakelock.acquire(); //....... mWakelock.release();
点亮屏幕需要权限:
<uses-permission android:name="android.permission.WAKE_LOCK"/>
============解决方案2============
按照LS的方法 请求强制打开锁,会出现按Power键,系统也不会进入Sleep的现象
建议参考如下方法,让对话框在锁屏界面上方显示
onCreate方法时使用
requestWindowFeature(Window.FEATURE_NO_TITLE); //hide title
Window win = getWindow();
WindowManager.LayoutParams winParams = win.getAttributes();
winParams.flags |= (WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
| WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
| WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON
| WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
setRequestedOrientation(0);
在OnResume时使用
protected void onResume() {
super.onResume();
acquireWakeLock();
}
private void acquireWakeLock() {
if (mWakelock == null) {
Log.i(TAG, "Activity begin start ");
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
mWakelock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, this.getClass().getCanonicalName());
mWakelock.acquire();
}
在onPause
protected void onPause() {
super.onPause();
......
releaseWakeLock();
}
private void releaseWakeLock() {
if (mWakelock != null && mWakelock.isHeld()) {
mWakelock.release();
mWakelock = null;
}
希望对LZ有所帮助!
怎样在安卓中实现在锁屏状态下弹出对话框,并可以震动和铃声,就像闹钟似的?
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。