このリンクに従って、アプリにSamsungのマルチウィンドウサポートを追加しようとしました。私のアプリは Samsung のマルチウィンドウ アプリケーション タブに表示され、画面にドラッグ アンド ドロップすることはできましたが、私のアプリはマルチウィンドウ対応アプリのように動作せず、全画面表示に拡張されました。
適切に機能させるために必要な変更が他にもいくつかあると思いますが、何がわかりません。この動作の原因となる問題を考えている人はいますか?
このリンクに従って、アプリにSamsungのマルチウィンドウサポートを追加しようとしました。私のアプリは Samsung のマルチウィンドウ アプリケーション タブに表示され、画面にドラッグ アンド ドロップすることはできましたが、私のアプリはマルチウィンドウ対応アプリのように動作せず、全画面表示に拡張されました。
適切に機能させるために必要な変更が他にもいくつかあると思いますが、何がわかりません。この動作の原因となる問題を考えている人はいますか?
この xda-developers フォーラムの投稿には、ここで言い換えた段階的なガイドが含まれています。
<application>
マニフェストのタグ内のどこかに次が含まれていることを確認してください。
<uses-library android:required="false" android:name="com.sec.android.app.multiwindow" />
<meta-data android:name="com.sec.android.support.multiwindow" android:value="true" />
<meta-data android:name="com.sec.android.multiwindow.DEFAULT_SIZE_W" android:resource="@dimen/app_defaultsize_w" />
<meta-data android:name="com.sec.android.multiwindow.DEFAULT_SIZE_H" android:resource="@dimen/app_defaultsize_h" />
<meta-data android:name="com.sec.android.multiwindow.MINIMUM_SIZE_W" android:resource="@dimen/app_minimumsize_w" />
<meta-data android:name="com.sec.android.multiwindow.MINIMUM_SIZE_H" android:resource="@dimen/app_minimumsize_h" />
目的のアクティビティについて、<intent-filter>
タグに次を追加します。
<category android:name="android.intent.category.MULTIWINDOW_LAUNCHER" />
リソース ファイルで上記のディメンションを必ず定義してください。
そのブログ投稿のコメント セクションで、ユーザーは、最小サイズが問題を引き起こしていると述べ、 と を削除するよう提案しましcom.sec.android.multiwindow.MINIMUM_SIZE_W
たcom.sec.android.multiwindow.MINIMUM_SIZE_H
。
あるユーザーは、ディメンション リソースを使用してディメンションを指定してもうまくいかないと指摘しました。彼は代わりに value 属性をハードコードしました:
<uses-library android:required="false" android:name="com.sec.android.app.multiwindow" />
<meta-data android:name="com.sec.android.support.multiwindow" android:value="true" />
<meta-data android:name="com.sec.android.multiwindow.DEFAULT_SIZE_W" android:value="632.0dip" />
<meta-data android:name="com.sec.android.multiwindow.DEFAULT_SIZE_H" android:value="598.0dip" />
<meta-data android:name="com.sec.android.multiwindow.MINIMUM_SIZE_W" android:value="632.0dip" />
<meta-data android:name="com.sec.android.multiwindow.MINIMUM_SIZE_H" android:value="598.0dip" />
残念ながら、Galaxy Note を持っていないので、自分で試すことはできません。
Galaxy Note 3 でアプリケーションをテストした後、さらに 2 つのことがわかりました。
MINIMUM_SIZE
DEFAULT_SIZE
スマートフォンではなく、Samsung タブレットの MultiWindow でのみ動作します。
また、アプリケーションでマルチインスタンスを有効にする場合は、次の行を AndroidManifest に追加します。
<meta-data
android:name="com.samsung.android.sdk.multiwindow.multiinstance.enable"
android:value="true" />
また、ここに記載されているように、アプリのペン ウィンドウ (マルチウィンドウ システムの一部) をマルチウィンドウとマルチインスタンスと共に有効にすることも注目に値します ( http://forum.xda-developers.com/showthread.php?t =2499720 ):
<meta-data android:name="com.samsung.android.sdk.multiwindow.penwindow.enable" android:value="true" />
ランチャー コードをアクティビティに追加します。
<category android:name="android.intent.category.PENWINDOW_LAUNCHER" />
ランチャー コードのメモとして、xda の投稿にはcom.samsung
プレフィックス付きでリストされていますが、そこに記載されているように N3 で動作させることができませんでした (上記の変更されたコードを使用しました)。ペン ウィンドウで、アプリを使用する前に、[編集] をクリックし、下部からペン ウィンドウ ランチャー画面にアプリをドラッグする必要があります。
Android 7 以降でマルチ ウィンドウをサポートするには、マニフェストの「アクティビティ」または「アプリケーション」要素で、この android:resizeableActivity を true に設定するだけです。
android:resizeableActivity="true"
https://developer.android.com/guide/topics/ui/multi-window.html