Android :: Custom Classes Passed From Service To A UI Threads Via AIDL
May 30, 2010
I have a service that regularly queries a web server for new messages. The service stores the new messages in an arrayList. These messages are implemented using a custom class, storing all kinds of metadata (strings and longs).
An activity then connects to this service to retrieve those messages and display them to the user.
I have an .aidl file that describes the interface that the service exposes.
CODE:..........
The Message class extends the Parcelable class which should allow for the IPC transfer.
The problem is this: Eclipse gives me an error saying that the type of List<Message> is unknown. Any imports are marked as invalid.
View 3 Replies
Nov 12, 2010
I have to make other developers to be able to connect to my service, but my AIDL imports my classes. I don't want to give them the source code of the service, just the APK and some kind of a stub file (java, jar?). How can I give them something - "the glue" - which makes them to use the classes in my AIDL and using the service akp without getting the sources of the service?
View 1 Replies
View Related
Apr 13, 2010
What are the advantages/disadvantages in placing a lengthy network access code in a thread in an activity or a thread in a service? How would it affect the application? I am writing a streaming audio player and from what I've read so far putting the code in a service will still end up blocking the application so a new thread is needed, does anyone know if it makes more sense to put this piece of code in a service.
View 1 Replies
View Related
Jun 24, 2009
I have a service running in the background.I have a background thread that gets a reference to the service from the application's main activity. But when the background thread calls a method in the service to display a toast, I get the "Looper not initialized exception".Why,if I have a valid, bound reference to a Service, does this still happen?
View 4 Replies
View Related
Jul 26, 2010
Under what circumstances would using AIDL to define a service interface be the correct decision (rather than just creating an extension to the service class)?
View 2 Replies
View Related
Nov 20, 2010
what I'm trying to do here is implement something like a peer-to-peer client. Being that, it will start a client thread and a server thread.I know Services themselves run in the main GUI thread, so I'll have to start a couple of independent threads (or Asynctasks?) for each server and client. The only thing I'm not so sure about is if I'll better have 1 Service starting 2 threads, or maybe 2 services, each one of them starting their own thread.
View 2 Replies
View Related
Jul 20, 2010
I've created a service that is meant to communicated to an activity using aidl's and callback functions. I got it working just fine with my test activity in the same package. But I was wanting to expose this service to different activities running in a completely different .apk file. Is it possible to accomplish this? What does the separate package need to bind to my service and register the callbacks? Or am I going about this completely wrong and should I try a different method for conveying information back and forth between two packages.
View 3 Replies
View Related
Jun 18, 2010
I have created a service which exposes few AIDL defined interfaces. I want to access this Service from an application with different package. I have no clue how to achieve this. I want to see an example on this.
Unfortunately all examples I see has client application in the Service package it self:(
Could you please share some sample/example code on this?
View 7 Replies
View Related
May 16, 2009
I didn't find a sufficient answer to my problem in any posts, if there already is one, please excuse and point me to it, thanks. I made 2 projects. project 1 hast an activity that binds to a service from project 2 on a button click (all just for testing).
How can I make project 1 know (import) my TestInterface (from TestInterface.aidl out of project 2) for usage in: "TestInterface mService = (TestInterface) TestInterface.Stub.asInterface(service);"
without adding project 2 to the build path, because if I'd have an installed service without the project code, I couldn't do it this way, too...?? I read in one thread that TestInterface.aidl should just be added to project 1, too, but if I do this, in DDMS enforceInterface() complains and seems to just see/use the interface from project 1 and it doesn't work.
2. issue:...............
View 9 Replies
View Related
Nov 9, 2010
I have a service that will send out notifications with timed tasks. I need this service to run outside the life of the application, but I only need to access the services functions during the lifespan of the app. Is a local service enough or do I need to implement AIDL?
View 2 Replies
View Related
Jan 20, 2010
I have an activity defined as:
CODE:...................
View 3 Replies
View Related
Jul 26, 2010
In the implementation of my remote service's published API, is there a way to identify which client called a given method? For example, is there a way to obtain a unique ID or address of the caller? I already cache an AIDL callback reference to the client, but not sure how I can use this for identification.
View 4 Replies
View Related
Jul 16, 2009
This is my aidl file.
CODE:.................
View 3 Replies
View Related
Feb 10, 2010
When I load my application I also load and Android Service that helps me download files from the internet.The user may have 1 or more downloads at any given time, all in their own Thread which is managed by the service. If the user presses the home button I do not destroy the service but instead let it run, however, if the user presses the back button I do stop() the service as I felt this was the right thing to do (the user would not want stray services running).
This works OK unless there are stray Threads that have not completed yet (this could happen if the internet connection is not active etc.).How could I manage this? How could I stop all Threads as I have no reference to them...or somehow command android to stop my service once all Threads are complete and my app has closed?
View 1 Replies
View Related
Aug 12, 2010
I have an app that uses a TabHost. Several of the Tabs share a common HUD. I am using a service to periodically update those values by calling an AIDL function when ready.
However, since several of the Tabs are using the same HUD I would like to abstract that part out.
I thought about having the HUD.xml use a String resource as it's value and then the abstracted class can update the String resource. However, apparently Android can not update String resources programatically.
The only alternative solution I see would be using SharedPreference.
I have concerns accessing a Database everytime the value is refreshed.
View 1 Replies
View Related
Mar 25, 2009
I have created a threaded service the following way. code...
After I close the application the phone works really slow and I guess it is due to thread termination failure.
Does anyone know what is the best way to terminate all threads before terminating the application?
View 3 Replies
View Related
Apr 28, 2009
I am looking to implement an Android service that will serve as the "driver/hardware access" for a device that will connect to the usb host port. Is there a good framework or example showing how I can make a service interact with this device? Its not a standard device that Android already supports other than the fact it connects via usb.
I am able to do this with linux libusb native code already but what would be the pathway to make this work through the android java framework?
I want to avoid having to make a kernel level driver for this that is why I prefer to have this implemented as a service for other apps to access the device.
View 3 Replies
View Related
Apr 2, 2010
I was just wondering if any of you know of a Twitter application that allows you to use your own custom short url service? I currently have my own set up and on the iPhone tweetie2 did this, just wondering if something was available for Android?
View 3 Replies
View Related
Dec 21, 2009
I was interested in developing a clock widget for the homescreen and upon reading Home Screen Widgets tutorial, I wondered if there is a pre-existing Service I could reference for updating the current time rather than re-inventing the wheel?I download the Retro Clock application on my android phone and noticed that when I click it, it pops up the Alarm Clock settings, but with the default Google Analog Clock widget, upon click does nothing.Is that because the Retro Clock widget implements the Alarm Clock service? If so, how can I go about referencing that service? Or do I have this all wrong and misunderstood?
View 4 Replies
View Related
Nov 26, 2009
I'm currently working on an XMPP app' on Android and I'm pondering about the best way to throw a different type of Exception than a RemoteException to my activity from my service.
As it seems impossible to throw another thing than a RemoteException using IPC (you can't declare to throw anything in your .aidl), I just see two solutions:
Create a listener for my activity to listen on my custom XMPP exception, which in fact will not be thrown but just sent as a usual object implementing the Parcelable protocol.
Catch my XMPPException and throw a RemoteException (with a content updated with my XMPPException) - But in that case, how could I know on my activity if it's an XMPP or a real RemoteException ? By tagging the name of the exception and parsing it on my activity ? It would be really gore.
View 2 Replies
View Related
May 11, 2010
I'm trying to pass a bundle of two values from a started class to my landnav app, but according to the debug nothing is getting passed, does anyone have any ideas why?
View 1 Replies
View Related
May 30, 2010
I have a Service that downloads a file from the internet. What I want is for the response (an InputStream in this case) to be handled by a custom handler that can be switched (like a strategy pattern) but I can't figure out how to do this. So basically the User of the API would be able to plug in different handlers for the response, some would parse XML, others might save files etc. I realise I could pass through the activity context and execute the method from this (given some interface) but I don't want to do this obviously, in case the Activity is closed in the meantime while the file is still downloaded.
UPDATE - I just had one idea it will work sort of but has problem if the DownloadRunnable gets changed between executions of the downloads.
The modified Runnable interface
interface DownloadRunnable {
void run(InputStream stream);
}
An enum
public enum ServiceHandler {.......................
View 1 Replies
View Related
May 19, 2010
The problem seems to be that the Service class does not inherit the > findViewById() method.
View 3 Replies
View Related
Aug 18, 2009
I was wondering if there is a way to determine who passed an intent to my application. For example, I have a service, that I want to act differently depending on who passed the intent (for security reasons). I'm trying to sandbox each calling application, so they only have access to their data stored in my application.
For it to be secure, I cannot trust any application to be truthful about the identifying data it is passing into my service. Therefore, I need some system way of identifying who sent the intent in a way that the calling application cannot change that information. I don't know if it is possible, but I can't find anything in the Intent class, and I was wondering if there may be another structure which does what I want it to. If it is not possible, I would like to get some type of mechanism to do this in the roadmap.
View 13 Replies
View Related
Jun 28, 2010
I want to receive a data which is passed using intent from another page.
View 1 Replies
View Related
Aug 5, 2010
As asked, is it possible? Here's part of my code. I don't know how to change it.
CODE:............
And yes, the error toast came up!
View 1 Replies
View Related
Jun 28, 2010
When we want to pass data from an activity to a sub activity we use the is there any event handler that handles this?
View 1 Replies
View Related
Jul 27, 2010
I am writing a music player for esoteric music formats, and have defined mime types for them in my Manifest.
However, the standard music player is always started even though it can't handle the format. Looking at logcat I see;
: D/MediaScannerService( 688): IMediaScannerService.scanFile: / sdcard/download/Cybernoid.sid mimeType: audio/prs.sid : I/ActivityManager( 578): Stopping service: com.android.providers.media/.MediaScannerService : I/ActivityManager( 578): Starting activity: Intent { action=android.intent.action.VIEW data=file:///sdcard/download/ Cybernoid.sid type=audio/prs.sid flags=0x4000000 comp={com.android.music/com.android.music.MediaPlaybackActivity} }
.. so it seems the component is explicitly set to the music player ? Is there any way around this ?
View 3 Replies
View Related
Aug 4, 2010
Why below code is throwing nullPointer exception in last line (when accessing javaInterface.mValue) This line through NullPointer, so basically it is not being set. even though the javascript is correct and has been verified using FireBug that it returns expected string.
There are few lines above this code chunk but it is irrelevant this problem
CODE:................
View 2 Replies
View Related
Aug 8, 2010
I have an activity that implements LocationListener in my application and my onLocationChanged method has been working perfectly up until recently. For some reason the Location object being passed into the method is null. My question is, why is it null? Does it pass in a null object if it cannot acquire a location?
My GPS is on and I have it set to pull a location from the GPS, and I know my GPS can get a fix on me as I used Maps and had it locate me.
Also, I have the permission for my app set as:
CODE:.................
I don't believe permissions is the issue though, as my activity was working beforehand and I have not altered the permissions since then.
Here is the code that determines the provider of the location object:
CODE:.............
Here is the LogCat output of the error:
CODE:..............
I have tested the same code on another device (an HTC MyTouch 3G to be precise) and it works flawlessly with the GPS, however on my Motorola Droid it crashes.
View 3 Replies
View Related