Programmatically open the F-Droid client to a specific app page?

From my own app I want to send users to a specific app page in F-Droid, I am already ensuring that the F-Droid is installed on the user’s device. What’s the best way to do link straight to the app listing in the F-Droid client? Is there a URL format, or Intent I could use?

These are the ways I’ve found so far:

Use the fdroid.app:// scheme

I noticed the F-Droid client has a scheme in AndroidManifest.xml, so I did this:

fdroid.app://details?id=com.mendhak.conscryptprovider/

And it worked. Hopefully this is correct and intended, or is this something I should avoid?

Just use a normal link

I could just link to the F-Droid web URL, which would open in the user’s browser and they could then open it in the F-Droid client themselves.

https://f-droid.org/en/packages/com.mendhak.conscryptprovider/

That works too. I can do this, but am hoping to make it convenient for the user and take them straight to the F-Droid app page.

Use the market:// scheme

I was able to do this too, it gives a choice between Play Store and F-Droid. The only issue might be, users accidentally choose the Play Store and end up on a non-existent page.

market://details?id=com.mendhak.conscryptprovider/

Intent possible?

Is there an Intent() way to directly open the F-Droid client to a specific app page?

This should offer a list of apps to open with, and F-Droid is on that list. If the user chooses the browser… and “always”, then it’s gone

1 Like