I'll look at the examples, and try that.

Thanks.

On Feb 14, 11:07 am, Dianne Hackborn <hack...@android.com> wrote:
> You can follow the same model we use for input methods, app widgets, live
> wallpapers, and other things (none of which are fundamentally kinds of
> things in the platform, but built on top of the fundamental generic
> activity, receiver, service, and provider components):
>
> 1. Pick the kind of component that best represents your object.  If there is
> not going to be any code that needs to be run by the object, then this is
> kind-of arbitrary.  The two most typical components to use for this are a
> receive or service.  Let's pick a receiver.
>
> 2. Define your own action the you can use to find any receivers you are
> interested in.  For example "com.mydomain.keyapp.EXTERNAL_KEYBOARD".
>
> 4. Define a meta-data item to be associated with this component.  This will
> be a reference to an XML resource, containing an XML file organized however
> you want describing your domain-specific information associated with the
> component.
>
> 3. When you run, use PackageManager,queryIntentReceivers() to find all
> receiver that support your protocol.  Use GET_META_DATA to also retrieve the
> meta-data associate with the component.  You can iterate through the
> returned list, processing the XML meta data file associated with each of the
> returned components to find out about them.
>
> You can look at WallpaperService for a pretty good example of a typical way
> to structure such a thing (though in this case based on a service, not a
> receiver):
>
> http://developer.android.com/reference/android/service/wallpaper/Wall...
>
> <http://developer.android.com/reference/android/service/wallpaper/Wall...>Note
> the SERVICE_INTERACE (that's the action) and SERVICE_META_DATA associated
> with the component.
>
> The WallpaperInfo class is a good example of how you can parse the component
> and meta-data associated with it:
>
> http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;...<http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;...>
>
> (Note because we do not currently support third party shared libraries, you
> will not be able to define your own custom attributes that can be used by
> the other applications.  You can use any of the standard platform
> attributes, though, and just retrieve regular attributes of whatever type
> you want.)
>
>
>
> On Sat, Feb 13, 2010 at 11:59 PM, Menny <menn...@gmail.com> wrote:
> > So you suggest that I'll have a pre-define resource which will hold
> > all the information I need (let's say it is an XML resource) for
> > creating the external keyboard. This sounds OK.
> > The only problem is how to query for packages which have this
> > resource?
> > I can still create an Activity which have another pre-defined activity-
> > filter which I can query for.
> > Is this a reasonable method? Or is there a clearer way (I mean, I
> > create an activity just for query usages)?
>
> > Thanks,
> > Menny
>
> > On Feb 14, 12:44 am, Mark Murphy <mmur...@commonsware.com> wrote:
> > > Menny wrote:
> > > > I don't know what the other ContentProviders URI are.
> > > > They can be anything, I want to release my keyboard service, and then
> > > > release layouts as I need.
> > > > This means that, somehow, the keyboard service needs to "know" which
> > > > layout packages are installed on the device, and what are the URI of
> > > > their content-providers.
>
> > > Another alternative is to still use Context.createPackageContext(), but
> > > primarily as a bootstrap. The APK would publish its content URI in a
> > > pre-determined resource (e.g., R.string.any_soft_keyboard_provider_uri),
> > > which you would then use.
>
> > > --
> > > Mark Murphy (a Commons Guy)http://commonsware.com|
> >http://twitter.com/commonsguy
>
> > > Android Development Wiki:http://wiki.andmob.org
>
> > --
> > You received this message because you are subscribed to the Google
> > Groups "Android Developers" group.
> > To post to this group, send email to android-developers@googlegroups.com
> > To unsubscribe from this group, send email to
> > android-developers+unsubscr...@googlegroups.com<android-developers%2bunsubscr...@googlegroups.com>
> > For more options, visit this group at
> >http://groups.google.com/group/android-developers?hl=en
>
> --
> Dianne Hackborn
> Android framework engineer
> hack...@android.com
>
> Note: please don't send private questions to me, as I don't have time to
> provide private support, and so won't reply to such e-mails.  All such
> questions should be posted on public forums, where I and others can see and
> answer them.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to