我在录制应用上工作。
我遇到the internal storage runs below 10 MB
的情况,然后我停止录制并show a dialog
给用户。
问题是当用户有100 MB空闲时,开始录制,锁定手机,并在后台录制。
一段时间后,存储空间低于10 MB,录制停止,但没有向用户显示对话框BECAUSE SCREEN IS OFF
。
如何在解锁手机并进入应用后向用户显示对话框?我也会显示通知,但我的应用程序针对的是Android 2.3+并且没有针对2.3的通知。
答案 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开发者资源中的PowerManager和Keyguard Manager。
编辑1:
有些WindowManager.LayoutParam
个标记与您可以尝试的相关,但它们只能在全屏环境中工作,最后一个可能是您最好的选择: