短故事:显示特定活动时隐藏我的对话框。当其他活动显示时,对话框可以看到很好。AlertDialog被活动隐藏
长的故事:我有一个使用下列标志的活动:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
WindowManager.LayoutParams.FLAG_IGNORE_CHEEK_PRESSES);
它还使用PROXIMITY_SCREEN_OFF_WAKE_LOCK
为了当你把手机对着你的脸关闭屏幕。
这项活动是在清单中定义如下:
<activity
android:name=".ui.MyHidingActivity"
android:configChanges="orientation|screenSize"
android:launchMode="singleInstance"
android:windowSoftInputMode="stateHidden"></activity>
现在,当一个事件我想创建并显示该对话框中的应用情况:
KeyguardManager km = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);
final KeyguardManager.KeyguardLock kl = km.newKeyguardLock("com.mycompany.myproject");
kl.disableKeyguard();
PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.FULL_WAKE_LOCK, "My_App");
wl.acquire();
final AlertDialog alertDialog = new AlertDialog.Builder(tabActivity).create();
alertDialog.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);
alertDialog.setTitle("Incoming Event");
alertDialog.setMessage("You have an incoming event.");
alertDialog.show();
wl.release();
对话框显示罚款当任何其他活动显示,,除了那MyHidingActivity
其中隐藏了出于任何原因的对话。任何想法可能是什么问题?
也许原因是android:launchMode =“singleInstance”。 “MyHidingActivity”打开后启动新任务。在MyHidingActivity打开或移除android:launchMode =“singleInstance”后尝试启动对话框。 – fisher3421
用于显示MyHidingActivity中从哪个方法调用此对话框中的对话框。 – RameshJaga
@Rameshbabu从我的应用程序中的一个监听器。问题是对话框被附加到与显示的不同的活动。我会很快回答我自己的问题,这将进一步解释。 – Emmanuel