問題タブ [multi-window]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
990 参照

android - マルチウィンドウをサポートしない新しいアクティビティの開始

MyMainActivityは、Android N の新しいマルチウィンドウ モードをサポートしています。ただし、AwesomeActivityマルチウィンドウをサポートしないでください。

私は次のことを試しました:

AndroidManifest.xml

MainActivity.java

Intent.FLAG_ACTIVITY_NEW_TASK(の有無にかかわらずIntent.FLAG_ACTIVITY_CLEAR_TASK)を追加するAwesomeActivityと、それが独自のタスク スタックのルート アクティビティになるため、 でマルチウィンドウ モードに入ることができないはずだと考えましたAwesomeActivity

ただし、これは機能しません。 からマルチウィンドウ モードに切り替えることはできますがAwesomeActivity、これは望ましい動作ではありません。

の組み合わせはIntent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_MULTIPLE_TASKAwesomeActivityを起動するように見えますが、AwesomeActivityでアプリをバックグラウンドに置いてからAwesomeActivityをフォアグラウンドに戻すと、MainActivityに戻ることができなくなるという意味では機能しません。タスクスタックから消去されました。ほとんどの場合、ユーザーは元に戻りたいと考えているMainActivityため、このソリューションでは不十分です。

0 投票する
1 に答える
8374 参照

android - Android アプリで分割画面を有効にするにはどうすればよいですか?

Android アプリの分割画面を有効にしたいと考えています。アプリをドラッグしてAndroidデバイスの上半分を占有しようとすると、「アプリは分割画面をサポートしていません」というメッセージが表示されます。ただし、Facebook や WhatsApp などの他のアプリでは、分割画面を使用できます。分割画面をサポートする Android 7 (nougat) で LGE Nexus 5X を使用しています。

分割画面モードで並行して実行されている 2 つのアプリ。

0 投票する
2 に答える
1277 参照

android - Android N マルチ ウィンドウ モードでホーム ボタンが押されたときにアクティビティ onStop() が呼び出されない

Android N マルチウィンドウ モードをサポートするビデオ アプリを作成しようとしています。マルチウィンドウ モードでアクティビティのライフサイクルが混乱することを発見しました。この現象は、アプリがトップ画面にレイアウトされ、画面全体が縦向きになっているときにホームボタンをクリックすると、上部のアプリonPause()が呼び出されますがonStop()、呼び出されません。

Google のガイドラインhttps://developer.android.com/guide/topics/ui/multi-window.html#lifecycleによると、ビデオ アプリは、onStop()コールバックではなくonPause()コールバックでビデオの再生を一時停止する必要があります。

この状況では、ホーム ボタンが押され、アクティビティがバックグラウンドになり、ユーザーに表示されなくなります。アプリはビデオの再生を一時停止する必要がありますが、onStop()コールバックを取得できません。その間、アクティビティはonMultiWindowChanged()コールバックを起動しません。これは、バックグラウンドにあるにもかかわらず、アクティビティがまだマルチウィンドウ モードであることを意味します。この場合、isInMultiWindowMode()が返さtrueれます。

アプリが左側の画面にあり、画面全体が横向きの場合も同じ問題が発生します。

この質問を検索したところ、誰かがすでに問題を Google に投稿していることがわかりましたが、Android Nougat リリースでは処理されていません。

https://code.google.com/p/android/issues/detail?id=215650&can=1&q=multi%20window%20onstop&colspec=ID%20Status%20Priority%20Owner%20Summary%20Stars%20Reporter%20Opened

では、このような状況でビデオの再生を一時停止する適切なタイミングはいつでしょうか? コールバックでビデオを一時停止するとonPause()、アクティビティがマルチウィンドウ モードでユーザーに表示される場合があります。onStop()そうしないと、この場合、コールバックを取得できません。このような場合の適切な回避策はありますか?

0 投票する
1 に答える
452 参照

java - 最近使用したボタン、マルチ ウィンドウ モード、またはホーム ボタンであるかどうかを検出する方法 onUserLeaveHint()

私のアプリではonUserLeaveHint()、ユーザーがホームボタンを押したときにメソッドに依存していますが、このメソッドは、「最近のボタン」を長押ししてAndroid 7.0でマルチウィンドウモードを開始するときにも呼び出されています(実行したくない)ホームボタンを押したときと同じこと)。だから、どれがどれであるかを検出する方法があるかどうか知りたいです。乾杯!

注: onMultiWindowModeChanged()に呼び出されます onUserLeaveHint()

0 投票する
1 に答える
1895 参照

android - マルチウィンドウ モードでパーセント パディングを使用する Google Maps API v2 newLatLngBounds がエラーをスローする

小さなデバイスで動作するように、デバイスのパーセンテージLatLngBoundsに基づいてパディング セットを使用してカメラをアニメーション化しています。width

これは 4 インチ ディスプレイの小型デバイスでも機能しますが、Android 7.0 のマルチウィンドウ モードとそれ以前のマルチウィンドウ モードをサポートするデバイスでは失敗します。ギャラクシー S7。

マルチウィンドウ モードのデバイスで次の例外が発生します。

疑わしいコードは次のとおりです。

newLatLngBoundsすべてのデバイス幅とマルチウィンドウ モードでパディングを適切に設定するにはどうすればよいですか?