0

これらの2つが関連しているのだろうかと思います。ウィンドウマネージャーのアニメーターの状態とアクティビティーのバックスタック

別のアクティビティの上にダイアログを表示する際に問題があります。私は私が考えるもの は次のとおりです。電話をかけるために

  • 開始アクティビティ、ダイアログが表示されます(Intent.FLAG_ACTIVITY_NEW_TASKフラグ付き)Intent.ACTION_NEW_OUTGOING_CALL開始活性(のはInCallActivityそれを呼びましょう)をリッスン
  • BroadcastReceiver
  • onCreateInCallActivity私はDialogFragmentを作成して表示します。

私が見るものは、com.android.dialer/com.android.incallui.InCallActivityです。私のダイアログはありません。

dumpsys window animator

Window #0: WindowStateAnimator{42433660 com.android.systemui.ImageWallpaper} 
    Window #1: WindowStateAnimator{428f9a20 com.google.android.googlequicksearchbox/com.google.android.launcher.GEL} 
    Window #2: WindowStateAnimator{4287ae60 com.android.settings/com.android.settings.DevelopmentSettings} 
    Window #3: WindowStateAnimator{42800678 com.android.settings/com.sprd.settings.SprdUsbSettings} 
    Window #4: WindowStateAnimator{428939d8 myApp/myApp.MainActivity} 
    Window #5: WindowStateAnimator{42835be0 myApp/myApp.InCallActivity} <- that's probably the activity itself 
    Window #6: WindowStateAnimator{4283f518 myApp/myApp.InCallActivity} <- that's probably the dialog 
    Window #7: WindowStateAnimator{4282de98 com.android.dialer/com.android.incallui.InCallActivity} 
    Window #8: WindowStateAnimator{426e5cb0 InputMethod} 
    Window #9: WindowStateAnimator{424e09b8 KeyguardScrim} 
    Window #10: WindowStateAnimator{424dd0a8 Keyguard} 
    Window #11: WindowStateAnimator{422c4598 StatusBar} 

android.task.incalluicom.android.dialer/com.android.incallui.InCallActivityの上にそのダイアログを表示する方法

Running activities (most recent first): 
    TaskRecord{427a9cf8 #745 A=android.task.incallui U=0 sz=1} 
    Run #4: ActivityRecord{423c18e8 u0 com.android.dialer/com.android.incallui.InCallActivity t745} 
    TaskRecord{427d0768 #744 A=myApp U=0 sz=1} 
    Run #3: ActivityRecord{42373f28 u0 myApp/.InCallActivity t744} 
    TaskRecord{424b8170 #743 A=myApp U=0 sz=2} 
    Run #2: ActivityRecord{422f0fb0 u0 myApp/.MainActivity t743} 
    TaskRecord{4289c550 #657 A=com.sprd.settings.SprdUsbSettings U=0 sz=1} 
    Run #1: ActivityRecord{41ac4b30 u0 com.android.settings/com.sprd.settings.SprdUsbSettings t657} 
    TaskRecord{42778c78 #522 A=com.android.settings U=0 sz=1} 
    Run #0: ActivityRecord{41a8a0b0 u0 com.android.settings/.DevelopmentSettings t522} 

mResumedActivity: ActivityRecord{423c18e8 u0 com.android.dialer/com.android.incallui.InCallActivity t745} 
mLastPausedActivity: ActivityRecord{42373f28 u0 myApp/.InCallActivity t744} 

タスクスタックの一番上に常にあると言いますか?

+0

これはNougat – zaswq12

答えて

0

まあ、回避策が見つかりました。 アクティビティをダイアログ(またはアクティビティのダイアログ)として表示する代わりに、TYPE_SYSTEM_ALERTなどのLayoutParamsでウィジェットを表示するサービス(新しいビューを追加)を実行するだけです。

関連する問題