Friday, May 3, 2013

[android help] ADT: Avoid duplicating code in package with dependency on another deployed package?


When I have e.g. a custom service and a custom activity in the same ADT project, then I can use this in the service, to start my activity:



Intent i = new Intent(context, MyCustomActivity.class);
startActivity(i);


However when I have the service and activity in separate projects, then I cannot do this since I do not have a direct reference to MyCustomActivity.class. This is problematic: I do not wish to include a JAR just to be able to fix that broken reference, since I assume this will increase the package size and create redundant data on the device (i.e. activity code is duplicated between the service and activity packages). So instead, I use this (perhaps there are other options?):



Intent i = new Intent("com.mypackage.myStringActionName");
startActivity(i); //is this a broadcast?


OR



Intent i = new Intent("com.mypackage.myStringActionName");
sendBroadcast(i);


...But I don't really like sending broadcasts when all I want is to direct the intent to a single activity to tell it to start.


So, what other ways are there to go about avoiding duplication (in ADT)? Or else a better way to send direct intents?



.

stackoverflow.comm

No comments:

Post a Comment

Google Voice on T-Mobile? [General]

Google Voice on T-Mobile? So I recently switched from a GNex on Verizon to a Moto X DE on T-Mobile. I had always used Google Voice for my v...