闹钟唤醒是定时器到时,取消键盘锁,弹出闹响界面,使用的类为Keyguardmanager,可以查一下,也可看下闹钟的源码

解决方案 »

  1.   

    AlarmAlert.jar private synchronized void disableKeyguard() {
            if (mKeyguardLock == null) {
                mKeyguardLock = mKeyguardManager.newKeyguardLock(Log.LOGTAG);
                mKeyguardLock.disableKeyguard();
            }
        }
      

  2.   

    多谢,我看了一下2.1的alarm源码,没找到2楼说的地方,是否是下面这个地方
        protected void onCreate(Bundle icicle) {
            super.onCreate(icicle);        mAlarm = getIntent().getParcelableExtra(Alarms.ALARM_INTENT_EXTRA);        // Get the volume/camera button behavior setting
            final String vol =
                    PreferenceManager.getDefaultSharedPreferences(this)
                    .getString(SettingsActivity.KEY_VOLUME_BEHAVIOR,
                            DEFAULT_VOLUME_BEHAVIOR);
            mVolumeBehavior = Integer.parseInt(vol);        requestWindowFeature(android.view.Window.FEATURE_NO_TITLE);
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
                    | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
                    | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
                    | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
            updateLayout();        // Register to get the alarm killed intent.
            registerReceiver(mReceiver, new IntentFilter(Alarms.ALARM_KILLED));
        }
      

  3.   

    FLAG_DISMISS_KEYGUARD是什么意思呢?