Android Oreoで。アクティビティはpipモードに入り、ランチャーに戻ることができます。上記のAndroid 8.0の場合。システムにピップモードがあることを知る方法はありますか?
https://developer.android.com/guide/topics/ui/picture-in-picture.html
今私はランチャーです。現在、ピップウィンドウが画面に表示されていることを知る方法はありますか?
isInPictureInPictureMode()
あなたのアプリケーションのpipmodeのみを示します。これは、他のアプリがpipモードに入ると偽になります。
インテントフラグは、アプリケーションを終了してから、起動モードに戻るように移動したときと同じでした。
12-15 03:31:39.580 11671 11671 D FLAG_ACTIVITY_FORWARD_RESULT 12-15 03:31:39.580 11671 11671 D FLAG_ACTIVITY_NEW_TASK 12-15 03:31:39.580 11671 11671 D FLAG_ACTIVITY_PREVIOUS_IS_TOP 12-15 03:31:39.581 11671 11671 D FLAG_ACTIVITY_RESET_TASK_IF_NEEDED 12-15 03:31:39.581 11671 11671 D FLAG_RECEIVER_BOOT_UPGRADE 12-15 03:31:39.581 11671 11671 D FLAG_RECEIVER_FOREGROUND 12-15 03:31:39.581 11671 11671 D FLAG_RECEIVER_INCLUDE_BACKGROUND 12-15 03:31:39.581 11671 11671 D FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS 12-15 03:31:50.174 11671 11671 D FLAG_ACTIVITY_FORWARD_RESULT 12-15 03:31:50.174 11671 11671 D FLAG_ACTIVITY_NEW_TASK 12-15 03:31:50.174 11671 11671 D FLAG_ACTIVITY_PREVIOUS_IS_TOP 12-15 03:31:50.174 11671 11671 D FLAG_ACTIVITY_RESET_TASK_IF_NEEDED 12-15 03:31:50.174 11671 11671 D FLAG_RECEIVER_BOOT_UPGRADE 12-15 03:31:50.174 11671 11671 D FLAG_RECEIVER_FOREGROUND 12-15 03:31:50.174 11671 11671 D FLAG_RECEIVER_INCLUDE_BACKGROUND 12-15 03:31:50.174 11671 11671 D FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS
私は、PIPモードのソースコードをチェックして、彼らはWindowManagerService
ことによって、これを制御します。私はそれがアプリケーションレベルを通してアクセスできるとは思わない。
「AccessibilityWindowInfo」に 'isInPictureInPictureMode()'を問い合わせる 'AccessibilityService'をビルドすることができます。 Googleは現在、アクセシビリティサービス機能の悪用を捜し求めている(2017年後半)ため、慎重であることに注意してください。これは、より良い解決策が見つからない場合にのみ使用してください。 https://developer.android.com/reference/android/view/accessibility/AccessibilityWindowInfo.html#isInPictureInPictureMode() – Madushan
ServiceConnectedのList windows = getWindows();を使用してWindowsにクエリを実行します。何も含まれていない場合は、それは普通ですか? また、この方法では、手動でのアクセスが必要です。 –
アクセシビリティサービスの特定のアクセス許可を要求する必要があります。ユーザーは登録を承認する必要があります。 https://developer.android.com/training/accessibility/service.html – Madushan