web-dev-qa-db-ja.com

AndroidアプリケーションにSamsungマルチウィンドウサポートを追加する

私は行って、この link に続いて、Samsungのマルチウィンドウサポートをアプリに追加しようとしました。 Samsungのマルチウィンドウアプリケーションタブにアプリが表示され、画面にドラッグアンドドロップできましたが、マルチウィンドウでサポートされているアプリと同じように動作しませんでしたが、フルスクリーンに拡張されました。

正しく機能させるために必要な変更が他にもあると思いますが、私には何がわかりません。誰かがこの動作を引き起こす問題が何である可能性があるという考えを持っていますか?

26
Rohit Malish

この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_Wcom.sec.Android.multiwindow.MINIMUM_SIZE_Hを削除するよう提案しました。

1人のユーザーが指摘 ディメンションリソースを介してディメンションを指定しても機能しなかった。代わりに、値属性をハードコーディングしました。

<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" />

ギャラクシーノートがないので、自分で試すことはできません。

64
Paul Lammertsma

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" />
3
Tony Ceralva

ここで注意するように、マルチウィンドウとマルチインスタンスに加えて、アプリでペンウィンドウ(マルチウィンドウシステムの一部)を有効にすることも注目に値します( http://forum.xda-developers.com/showthread)。 .php?t = 249972 ):

<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で機能させることができませんでした(上記の変更されたコードを使用しました)。ペンウィンドウでアプリを使用するには、編集を押して、アプリを下部からペンウィンドウランチャー画面にドラッグする必要があります。

0
JCricket

Android 7以上でマルチウィンドウをサポートするには、マニフェストの 'activity'または 'application'要素でこのAndroid:resizeableActivityをtrueに設定するだけです:

Android:resizeableActivity="true"

https://developer.Android.com/guide/topics/ui/multi-window.html

0
Regis_AG