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.
I don't want to use "sharedUserId", since I want to give other developers the option to create their own layouts. On Feb 13, 9:36 pm, Dianne Hackborn <hack...@android.com> wrote: > This sounds much more complicated than you need. If you just want to load > resources from another .apk, you don't need any code in it at all -- just > use Context.createPackageContext() to get the context for the other package > and load its resources from there. > > And if you don't need any UI, and really do need to execute code in the > other .apk, then you said you already have a content provider so why not > just call that? Or a broadcast receiver? Or a service? > > Also if you really do need to run the code in the other .apk, please > consider using android:sharedUserId with all of your .apks and having them > all run in the same process, so you don't need to spin up multiple > processes. > > > > On Sat, Feb 13, 2010 at 8:06 AM, Menny <menn...@gmail.com> wrote: > > OK. I'll be explain my needs: > > I'm the author of AnySoftKeyboard (http:// > > softkeyboard.googlecode.com). > > The reason I made this keyboard, is to provide alternative layouts in > > the on-screen keyboard (e.g., Hebrew, Russian, DVORAK, etc. and of > > course, qwerty). > > But the keyboard APK gets bloated with all the layouts, and > > dictionaries etc.... > > So, I wanted to move all layouts to external packages: one layout (or > > several) per package. > > > All the data I need to create a layout are the resource IDs of the > > layout, the dictionary and several other stuff, all of which can be > > retrieved using a ContentProvider. > > But I need the ContentProvider's URI. > > So I thought that starting an Activity and getting a result from it > > (startActivityForResult call) will be perfect for me. > > > I do not need any UI to popuup (actually, I prefer that none will), I > > get need to get some data from the external package. > > > So, these are my needs. Anyone can suggest a way? > > > Thanks, > > Menny > > > On Feb 12, 10:35 am, Kevin Duffey <andjar...@gmail.com> wrote: > > > The whole purpose of a service is to stay in the background doing > > something, > > > so not sure why you would want to display a UI in a non-UI based app. As > > > Dianne said, post a notification that shows up on the status bar... when > > the > > > user slides it down and clicks on it, that can launch an activity... > > which > > > can then bind to the service to pass it info if need be. I'd still argue > > > that would not be a good idea either. Can you elaborate on why you need > > some > > > user interaction with your service.. is it something that can't be, > > perhaps > > > set in a user preferences within an activity that the user launches the > > > first time (or later to change settings)? > > > > On Thu, Feb 11, 2010 at 7:53 PM, Dianne Hackborn <hack...@android.com > > >wrote: > > > > > You can't do this, nor should you. This would pop your UI in front of > > the > > > > user, disrupting whatever they are doing. This is highly discouraged. > > The > > > > proper way to do this is to post a notification, which the user can > > respond > > > > to when desired and can cause your own activity to be launched, which > > can > > > > then launch the other activity. > > > > > On Thu, Feb 11, 2010 at 11:17 AM, Menny <menn...@gmail.com> wrote: > > > > >> Hi, > > > >> I have a Service which needs to receive data from external packages. > > > >> So, to locate the data providing external packages, I use activity- > > > >> filter and PackageManager.queryIntentActivities function to locate the > > > >> interesting packages. > > > >> Now, from each such package, I need to get a ContentProvider URI. > > > >> So I want to start the external Activity and the external activity > > > >> will return a result to my service - something like > > > >> "startActivityForResult". > > > >> The problem is that there is no way to call "startActivityForResult" > > > >> from a Service, only Activity can do that, and my project does not > > > >> have any Activity, and probably can't show UI for the user. > > > > >> The bottom line: > > > >> Can anyone suggest a way to get ContentProvider URI from an external > > > >> package, while my package has only a Service? > > > > >> Thanks, > > > >> Menny. > > > > >> -- > > > >> 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> > > <android-developers%2bunsubscr...@googlegroups.com<android-developers%252bunsubscr...@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<android-developers%2bunsubscr...@googlegroups.com> > > <android-developers%2bunsubscr...@googlegroups.com<android-developers%252bunsubscr...@googlegroups.com> > > > > > For more options, visit this group at > > > >http://groups.google.com/group/android-developers?hl=en > > > -- > > 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