屏幕上显示对话框,如果关闭

时间:2014-02-13 20:37:43

标签: android

我在录制应用上工作。

我遇到the internal storage runs below 10 MB的情况,然后我停止录制并show a dialog给用户。

问题是当用户有100 MB空闲时,开始录制,锁定手机,并在后台录制。

一段时间后,存储空间低于10 MB,录制停止,但没有向用户显示对话框BECAUSE SCREEN IS OFF

如何在解锁手机并进入应用后向用户显示对话框?我也会显示通知,但我的应用程序针对的是Android 2.3+并且没有针对2.3的通知。

1 个答案:

答案 0 :(得分:3)

在给定应用上下文的情况下,您需要使用PowerManager唤醒屏幕:

        PowerManager pm = (PowerManager) getApplicationContext().getSystemService(Context.POWER_SERVICE);
        WakeLock wakeLock = pm.newWakeLock((PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP), "TAG");
        wakeLock.acquire();

要解锁它,请使用KeyguardManager

        KeyguardManager keyguardManager = (KeyguardManager) getApplicationContext().getSystemService(Context.KEYGUARD_SERVICE); 
        KeyguardLock keyguardLock =  keyguardManager.newKeyguardLock("TAG");
        keyguardLock.disableKeyguard();

在你的清单中,放:

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

请参阅Android开发者资源中的PowerManagerKeyguard Manager

编辑1:

有些WindowManager.LayoutParam个标记与您可以尝试的相关,但它们只能在全屏环境中工作,最后一个可能是您最好的选择: