【问题标题】:Show Activity When Screen is locked like "Viber", "Line" appliaction屏幕锁定时显示活动,如“Viber”、“Line”应用程序
【发布时间】:2013-05-17 10:10:12
【问题描述】:

如您所知,在“Viber”、“Line”等应用程序中,当设备接收到新消息时,新活动将弹出并显示给用户,即使屏幕被锁定但锁屏不会关闭。即使在带有 android 2.3.7 的“Xperia U”中也会发生这种情况。我想在我的应用程序中做同样的事情,我还尝试将以下标志添加到我的窗口:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);

也使用唤醒锁,但它只是打开屏幕而不显示我的应用程序。那么,我该怎么办?

【问题讨论】:

    标签: android screen-lock


    【解决方案1】:

    您可以使用以下代码禁用锁屏。

    PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE);
        wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK
                | PowerManager.ACQUIRE_CAUSES_WAKEUP
                | PowerManager.ON_AFTER_RELEASE, "INFO");
        wl.acquire();
    
        KeyguardManager km = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);
        kl = km.newKeyguardLock("name");
        kl.disableKeyguard();
    

    清单上的必要权限。

    <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />

    onPause() 或 onDestroy()。

    wl.release();
    

    【讨论】:

      猜你喜欢
      • 2014-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多