Opened 16 months ago

Last modified 16 months ago

#2677 open enhancement

Allow third-party apps to start I2P on Android via a Bradcast Intent

Reported by: Soren Stoutner Owned by: Meeh
Priority: minor Milestone: undecided
Component: apps/android Version: 0.9.44
Keywords: broadcast intent Cc:
Parent Tickets: Sensitive: no


I am the developer of Privacy Browser. The upcoming 3.3 release will include an option to proxy through I2P.

I looked over the integration options in I noticed that if a third party app wants to start I2P it needs to use startActivity() or startActivityForResult(). Specifically,

Intent i = new Intent("");
activity.startActivityForResult(i, REQUEST_START_I2P);

This isn't as slick as the the options I have with Orbot, where I can use a broadcast intent.

Create an intent to request Orbot to start.

Intent orbotIntent = new Intent("");

Send the intent to the Orbot package.


Request a status response be sent back to this package.

orbotIntent.putExtra("", context.getPackageName());

Make it so.


The beauty of this approach is that it let's my app start Orbot in the background, without making the user leave the app.

I am not aware of any possible negative consequences to using a broadcast intent. Would you be amenable to adding an option for one to I2P?


Change History (2)

comment:1 Changed 16 months ago by zzz

Status: newopen

Fine with me, let's see what Meeh says. You willing to give us a patch for it?

comment:2 Changed 16 months ago by Meeh

It's ok with me but I don't know how to implement that on our side.

Note: See TracTickets for help on using tickets.