短故事:顯示特定活動時隱藏我的對話框。當其他活動顯示時,對話框可以看到很好。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