Jump to content


Photo

Developers: Add support for Samsung Multi Window to your apps

- - - - -

  • Please log in to reply
11 replies to this topic

#1
PaulOBrien

PaulOBrien

    It's My Party

  • Founder
  • PipPipPipPipPipPip
  • 36,349 posts
  • Gender:Male
  • Location:Norwich, UK
  • Devices:All the Nexus!
  • Twitter:@paulobrien
Samsung's neat Multi Window functionality is making it's way into the wild... first with the Galaxy Note 2 and with the Galaxy S III to follow. This is great, but the downside is that not many apps support the functionality as yet. Developers - here's what you need to do to your app to add support!

It's actually rather easy. In your AndroidManifest.xml, do the following...
  • Make your application appear in the Multi Window bar. Add the MULTIWINDOW_LAUNCHER intent category to your application's main launcher activity... so just below your 'android.intent.category.LAUNCHER' line, add:

    <category android:name="android.intent.category.MULTIWINDOW_LAUNCHER" />
  • Indicate you're using the Multi Window library. Include the following just before your </application> close tag:

    <uses-library required="false" name="com.sec.android.app.multiwindow"> </uses-library>
  • Add the metadata to indicate your application is Multi Window compatible. Add the following metadata again just before your </application> close tag:

    <meta-data android:name="com.sec.android.support.multiwindow" android:value="true" />
  • Specify the default window size. You should specify the default sizes for your Multi Window configuration using the additional metadata tags / dimens.xml entries below. The dimens.xml values below show the default values taken from Samsung's Gallery application, adjust for your needs if necessary. ;) Add the metadata again just before the </application> close tag:

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

    and in your dimens.xml:

    <dimen name="app_defaultsize_w">632.0dip</dimen>
    <dimen name="app_defaultsize_h">598.0dip</dimen>
    <dimen name="app_minimumsize_w">632.0dip</dimen>
    <dimen name="app_minimumsize_h">598.0dip</dimen>
And that's it! Simple eh? Note that you will need to reboot your device for a newly added Multi Window app to appear in the bar.

P

Posted Image


Click here to view the item

  • 0

You can follow me on Twitter - http://twitter.com/paulobrien / Follow MoDaCo on Twitter - http://twitter.com/modaco

Want to donate? MoDaCo is raising money for the Multiple Sclerosis society.

Posted Image


#2
Rocky7

Rocky7

    Enthusiast

  • MoDaCo Silver
  • PipPipPip
  • 163 posts
and it is really that easy.

  • 0

#3
nmesisca

nmesisca

    Newbie

  • Members
  • Pip
  • 31 posts
  • Gender:Male
  • Location:Dublin
  • Devices:Galaxy Nexus
  • Twitter:@nmesisca
@dimen/app_defaultsize_w and the others dont seem to be in the system variables.. I am getting a "No resource found.." error message. Do you have to have those defined somewhere in strings.xml or dimen.xml?

  • 0

#4
PaulOBrien

PaulOBrien

    It's My Party

  • Founder
  • PipPipPipPipPipPip
  • 36,349 posts
  • Gender:Male
  • Location:Norwich, UK
  • Devices:All the Nexus!
  • Twitter:@paulobrien
Yes, see above, there's a dimens.xml change...

P

  • 0

You can follow me on Twitter - http://twitter.com/paulobrien / Follow MoDaCo on Twitter - http://twitter.com/modaco

Want to donate? MoDaCo is raising money for the Multiple Sclerosis society.

Posted Image


#5
smartgpc

smartgpc

    Newbie

  • Members
  • Pip
  • 1 posts
Hi, I had add the modify into my project. My app icon can show in the Multi-Window Launcher, however I cannot use my app with "multi" mode. When I drop my app icon into the other app, it always shows in full screen mode.

  • 0

#6
AshtonBRSC

AshtonBRSC

    Newbie

  • Members
  • Pip
  • 36 posts
  • Devices:Nexus One
Is there any way to test this without having a Note 2? I would add it to my app but I don't want to risk realising a broken implementation.

  • 0

#7
jmbneaf

jmbneaf

    Newbie

  • Members
  • Pip
  • 8 posts
Thanks for the notes to support Galaxy Notes :-)

Minor note for Eclipse users . . . .

Need to change from:
<uses-library required="false" name="com.sec.android.app.multiwindow"> </uses-library>

To this:
<uses-library android:required="false" android:name="com.sec.android.app.multiwindow"> </uses-library>


  • 0

#8
phunni

phunni

    Newbie

  • Members
  • Pip
  • 29 posts
  • Gender:Male
  • Devices:Nexus One
I've used this and also persuaded the LastPass devs to do this. However, in both the case of the LastPass and my app (Who's Got What) when moving the divider it always jumps straight to the top or bottom of the screen and can't be moved. Is this an issue with the dimensions? Or something else?

  • 0

#9
jcddcjjcd

jcddcjjcd

    Newbie

  • Members
  • Pip
  • 1 posts
  • Devices:SGS3
I had the same problem with the divider. I removed the two entries:
[color=#000088]<meta-data[/color] [color=#660066]android:name[/color][color=#666600]=[/color][color=#008800]"com.sec.android.multiwindow.MINIMUM_SIZE_W"[/color] [color=#660066]android:resource[/color][color=#666600]=[/color][color=#008800]"@dimen/app_minimumsize_w"[/color] [color=#000088]/>[/color]

[color=#000088]<meta-data[/color] [color=#660066]android:name[/color][color=#666600]=[/color][color=#008800]"com.sec.android.multiwindow.MINIMUM_SIZE_H"[/color] [color=#660066]android:resource[/color][color=#666600]=[/color][color=#008800]"@dimen/app_minimumsize_h"[/color] [color=#000088]/>[/color]
and all is well. I took apart the Gallery app from v4.1.2 and that is all they had. I later tried using all 4 dimensions but via the value attribute and that worked also.

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


Edited by jcddcjjcd, 24 December 2012 - 09:58 PM.

  • 0

#10
phunni

phunni

    Newbie

  • Members
  • Pip
  • 29 posts
  • Gender:Male
  • Devices:Nexus One
Thanks - that's worked.

  • 0

#11
hjernemadsen

hjernemadsen

    Newbie

  • Members
  • Pip
  • 2 posts
  • Devices:HTC Hero, LG Optimus 2x
Hi,

I've added MultiWindows support to my application, by following the instructions here:

http://developer.sam...chnical-docs-09

However that tutorial doesn't mention the need for the library, and on my Galaxy S3 it seems to work without it. Does anyone know if the library is necessary for it to work on other devices/versions?

Also it seems that if the DEFAULT/MINIMUM settings are left out, the default is to make the app fill half the screen when dragged in, and have a minimum size that corresponds to the height of the actionbar.

  • 0

#12
Steve Waring

Steve Waring

    Newbie

  • Members
  • Pip
  • 1 posts
  • Devices:Galaxy S3
How do you tell if when second application is added to a multi window, so that your application now only has (say) half of the screen real estate? The application is not restarted, and the onConfigurationchange method is not invoked?

  • 0




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users