如何解决闹钟界面会先出现解锁界面?

如何解决闹钟界面会先出现解锁界面?[DESCRIPTION]进入“Clock”,点闹钟图标,会先出现解锁界面,解锁后才出现闹钟定义界面。如何去除这个解锁界面,进入”clock”时,直接进入闹钟显示[SOLUTION]ic_clock_strip_alARMres/Layout/desk_clock_buttons.xml:android:src=”@drawable/ic_clock_strip_alarm”src/com/android/deskclock/DeskClock.java: final ImageButton alarmButton =

(ImageButton) findViewById(R.id.alarm_button);

final ImageButton alarmButton = (ImageButton)

findViewById(R.id.alarm_button);

alarmButton.setOnCLIckListener(alarmClickListener);

startActivity(new Intent(DeskClock.this, AlarmClock.class));

ATTACHED TO WINDOW

D/LockScreen( 86): updateLayout: status=SiMMIssing

Settings.Secure.DEVICE_PROVISIONED

//jeff

loadIntegerSetting(stmt, Settings.Secure.DEVICE_PROVISIONED,

R.integer.def_device_provisioned);

mKeyguardView.requestFocus();

public synchronized void verifyUnlock() {

private void handleShow() {

private void showLocked() {

public void setKeyguardEnabled(boolean enabled) {

private void doKeyguard() {

public void onScreenTurnedOff(int why) {

DELAYED_KEYGUARD_ACTION

TelephonyManager.ACTION_PHONE_STATE_CHANGED

src/com/android/deskclock/DeskClock.java

php?mod=tag&id=6090″ target=”_blank” class=”relatedlink”>Frameworks/base/policy/src/com/android/internal/policy/impl/LockScreen.java

frameworks/base/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.jav

a

frameworks/base/policy/src/com/android/internal/policy/impl/KeyguardViewMediator.java

frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java

private void updateLockScreenTimeout() {

Log.d(TAG, “[jeff]updateLockScreenTimeout() enable:”+enable);

Log.d(TAG, “[jeff]updateLockScreenTimeout()

mAllowLockscreenWhenOn:”+mAllowLockscreenWhenOn+”,mScreenOn:”+mScreenOn+”,mKeyguardMe

diator.isSecure():”+mKeyguardMediator.isSecure());

D/WindowManager( 86): [jeff]updateLockScreenTimeout() enable:false

D/WindowManager( 86): [jeff]updateLockScreenTimeout()

mAllowLockscreenWhenOn:false,mScreenOn:true,mKeyguardMediator.isSecure():true

D/WindowManager( 86): [jeff]updateLockScreenTimeout() enable:true

D/WindowManager( 86): [jeff]updateLockScreenTimeout()

mAllowLockscreenWhenOn:true,mScreenOn:true,mKeyguardMediator.isSecure():true

可以看出是由于mAllowLockscreenWhenOn变化导致,而赋值在:

public void animatingWindowLw(WindowState win,

WindowManager.LayoutParams attrs) {

if ((attrs.flags & FLAG_ALLOW_LOCK_WHILE_SCREEN_ON) != 0) {

mAllowLockscreenWhenOn = true;

}

}

所以在packages/apps/目录下搜索,确实deskclock中有加入这个属性

FLAG_ALLOW_LOCK_WHILE_SCREEN_ON

jeff@translogic:~/android/iputer-2.3.7/jeff-2.3.7_r1$ grep

“FLAG_ALLOW_LOCK_WHILE_SCREEN_ON” packages/apps/ -r –include=*.java

packages/apps/DeskClock/src/com/android/deskclock/AlarmAlertFullScreen.java: |

WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON);

packages/apps/DeskClock/src/com/android/deskclock/DeskClock.java: |

WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON

packages/apps/CellBroADCastReceiver/src/com/android/cellbroadcastreceiver/CellBroadcast

AlertDialog.java: | WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON);

将这3个都屏蔽。 问题解决。

来源:一牛网论坛

    原文作者:笙箫莫离
    原文地址: https://www.jianshu.com/p/591f6aa2256b
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞