Skip to content

Presence Publisher

F-Droid

Open source

Regularly publish to an MQTT topic

Version
2.7.0
Size
3 MB
Updated
Nov 26, 2025
Get from Download APK (v2.7.0)
Signing certificate on record

About this app

This free open-source app regularly publishes to a configurable MQTT topic whenever connected to a given Wi-Fi network or in proximity to a Bluetooth beacon. It can be used to integrate the presence of your phone in home automation.

The app uses the AndroidX WorkManager library, so notifications are sent even if the phone is in stand-by. In addition to regularly scheduled checks, the app also reacts to changes in the network connection.

The MQTT client supports anonymous and username / password authentication as well as client certificate authentication. For more details on how to configure certificate-based authentication, please have a look at https://github.com/ostrya/PresencePublisher/blob/main/README.md.

Note that the data you choose to publish is sent only to the server of your choice. The app does not send any data to me or any other third party.

If you want to know more about how this app processes your location data, please have a look at the privacy policy at https://ostrya.github.io/PresencePublisher/en/PRIVACY_POLICY.html.

Permissions

• ACCESS_BACKGROUND_LOCATION: on Android 10+, necessary to retrieve name of connected Wi-Fi while running in background • ACCESS_FINE_LOCATION: necessary to discover beacons; on Android 9+, necessary to retrieve name of connected Wi-Fi • ACCESS_NETWORK_STATE: necessary to register network change listener • ACCESS_WIFI_STATE: necessary to retrieve SSID of connected Wi-Fi • BLUETOOTH: necessary up to Android 11 to communicate with beacons • BLUETOOTH_ADMIN: necessary up to Android 11 to discover beacons • BLUETOOTH_CONNECT: on Android 12+, necessary to read beacon names • BLUETOOTH_SCAN: on Android 12+, necessary to discover beacons • FOREGROUND_SERVICE: on Android 9+, necessary to run the app reliably • FOREGROUND_SERVICE_DATA_SYNC: on Android 14+, necessary to send MQTT messages • INTERNET: only necessary if your MQTT server is not running locally • POST_NOTIFICATIONS: on Android 13+, necessary to create notifications • RECEIVE_BOOT_COMPLETED: necessary to start service on start-up • REQUEST_IGNORE_BATTERY_OPTIMIZATIONS: on Android 6+, necessary to request disabling battery optimization

Licensed under MIT.

OfficialSignature VerifiedOpen Source

What's New in v2.7.0

Imported from the F-Droid repository index.

  • v2.7.0
  • • solved issues when connecting to multiple Wi-Fis
  • • UI supports insets for camera and navigation bar
  • Important: The content of message connectedWifi is now a list. Modern Android versions can be connected to multiple Wi-Fis at once.

Version history

v2.7.0Latest
Signature continuous

Nov 26, 2025 · 3 MB · Android API 2136 · code 59

Imported from the F-Droid repository index.

  • v2.7.0
  • • solved issues when connecting to multiple Wi-Fis
  • • UI supports insets for camera and navigation bar
  • Important: The content of message connectedWifi is now a list. Modern Android versions can be connected to multiple Wi-Fis at once.
ACCESS_BACKGROUND_LOCATIONACCESS_FINE_LOCATIONACCESS_NETWORK_STATEACCESS_WIFI_STATEBLUETOOTHBLUETOOTH_ADMINBLUETOOTH_CONNECTBLUETOOTH_SCANFOREGROUND_SERVICEFOREGROUND_SERVICE_DATA_SYNCINTERNETPOST_NOTIFICATIONSRECEIVE_BOOT_COMPLETEDFOREGROUND_SERVICE_LOCATIONACCESS_COARSE_LOCATIONWAKE_LOCKorg.ostrya.presencepublisher.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

SHA-256 f14167fdaac5940cfa29665e1b4cf561c11f5120d91adf9bed64a9e54c28a5cb

v2.6.6
Signature continuous

Jun 1, 2025 · 3.4 MB · Android API 2135 · code 58

Imported from the F-Droid repository index.

ACCESS_BACKGROUND_LOCATIONACCESS_FINE_LOCATIONACCESS_NETWORK_STATEACCESS_WIFI_STATEBLUETOOTHBLUETOOTH_ADMINBLUETOOTH_CONNECTBLUETOOTH_SCANFOREGROUND_SERVICEFOREGROUND_SERVICE_DATA_SYNCINTERNETPOST_NOTIFICATIONSRECEIVE_BOOT_COMPLETEDFOREGROUND_SERVICE_LOCATIONACCESS_COARSE_LOCATIONWAKE_LOCKorg.ostrya.presencepublisher.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

SHA-256 2048626c1f55932e9d4a06317340d24e57c386cc7ecb93e4a29b6ed925e5459c

v2.6.5
Signature continuous

May 11, 2025 · 3.4 MB · Android API 2135 · code 57

Imported from the F-Droid repository index.

ACCESS_BACKGROUND_LOCATIONACCESS_FINE_LOCATIONACCESS_NETWORK_STATEACCESS_WIFI_STATEBLUETOOTHBLUETOOTH_ADMINBLUETOOTH_CONNECTBLUETOOTH_SCANFOREGROUND_SERVICEFOREGROUND_SERVICE_DATA_SYNCINTERNETPOST_NOTIFICATIONSRECEIVE_BOOT_COMPLETEDFOREGROUND_SERVICE_LOCATIONACCESS_COARSE_LOCATIONWAKE_LOCKorg.ostrya.presencepublisher.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

SHA-256 4af16ab5294a6799a955877dcab8fabdf31e556014107dc1231085bc619d0d4e

Will it run on your device?

CompatibilityLikely to run

78%

  • Runs on a broad range of modern Android versions.
  • ABI coverage is focused on newer 64-bit devices.
  • Aligned with the latest Android target SDK expectations.
What changed in this release
Size delta
-0.4 MB
Added permissions
None
Removed permissions
None

Installation Guide

1

Open Settings on your Android device

2

Go to Security → Unknown sources (or Install unknown apps)

3

Enable "Allow from this source" for your browser or file manager

4

Open the downloaded APK file from your Downloads folder

5

Tap "Install" and wait for installation to complete

6

Launch the app from your home screen

Make sure to re-enable Unknown Sources restrictions after installation for security.

How to install this safely

How to verify the file you downloaded

Before you install anything, confirm the file is the one described here. On a computer, run shasum -a 256 your-download.apk (macOS or Linux) or certutil -hashfile your-download.apk SHA256 (Windows), then compare the output character-for-character with the SHA-256 on this page. If a single character differs, the file is not the build we recorded — delete it.

What the signing certificate proves

Every Android app is signed with a private key that only its developer holds. The fingerprint on this page is a hash of the matching public certificate, and it proves continuity rather than identity: it tells you a build came from whoever signed the earlier ones. Android enforces this at install time — if a package claiming to be org.ostrya.presencepublisher is signed with a different key, the system will refuse to install it over your existing copy. A fingerprint that changes between releases is worth pausing on, because a repackaged app that has been modified by someone else cannot keep the original signature.

How to roll back to an earlier version

If the current release misbehaves, 2.6.6 is the last build before it. Android will not install an older version code over a newer one, so you must uninstall Presence Publisher first — which clears its local data unless you have a backup. Reinstall the older APK only if its signing fingerprint matches the build you already trust, and check the API range: an older release may target an Android version your device has moved past.

Why we list sources instead of hosting everything

The official store channel is almost always the right choice: it updates automatically and carries the publisher's own distribution guarantees. A direct APK is useful when a device has no store access, when a rollout has not reached your region, or when you need a specific version — and only when the publisher has authorized that copy. APKBrowse does not list pirated, cracked, or unauthorized rebuilds of Presence Publisher, and a listing is removed when the evidence for it stops holding up.

Get Presence Publisher

Every source we list for org.ostrya.presencepublisher is legality-reviewed. Pirated or cracked builds are never offered.

Other sources

F-Droid listing

official

F-Droid builds this app from source and signs it. This is its official listing, with older builds and full release notes.

Source code

verified publisher

The upstream repository this build is compiled from.

We check legality and signature continuity, but device behaviour still varies. Install at your own discretion.

App Information

Developer
F-Droid
Category
Social
Android
5.0+
Architectures
Version
2.7.0 (code 59)
Size
3 MB
Updated
Nov 26, 2025
Package name
org.ostrya.presencepublisher

Security Verification

File integrity
SHA-256 recorded
Signing certificate
Fingerprint on record
Official source
Download APK (v2.7.0)

We record provenance; we do not run malware scans. Verify the hash yourself before installing.

SHA-256 Hash

f14167fdaac5940cfa29665e1b4cf561c11f5120d91adf9bed64a9e54c28a5cb

Signing certificate

e05dca379f66dd2ad049831d497a4be3b84c24a87360b329db67fe3baa7702b4

Permissions Required

What each permission lets Presence Publisher do. A highlighted one is worth a second look — not necessarily wrong, just worth asking whether this app needs it.

ACCESS_BACKGROUND_LOCATIONRead your location even when the app is closed.
ACCESS_FINE_LOCATIONRead your precise location.
ACCESS_NETWORK_STATECheck whether the device is online and on what kind of connection.
ACCESS_WIFI_STATESee Wi-Fi status and the network it is connected to.
BLUETOOTHConnect to paired Bluetooth devices.
BLUETOOTH_ADMINDiscover and pair Bluetooth devices.
BLUETOOTH_CONNECTConnect to Bluetooth devices.
BLUETOOTH_SCANScan for nearby Bluetooth devices.
FOREGROUND_SERVICEKeep running in the background with a visible notification.
FOREGROUND_SERVICE_DATA_SYNCRun a background service to sync data.
INTERNETSend and receive data over the internet.
POST_NOTIFICATIONSShow notifications.
RECEIVE_BOOT_COMPLETEDStart automatically when the device finishes booting.
FOREGROUND_SERVICE_LOCATION
ACCESS_COARSE_LOCATIONRead your approximate location.
WAKE_LOCKKeep the device awake, e.g. to finish a download or play media.
org.ostrya.presencepublisher.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

Previous Versions

Signature verified

The signing certificate fingerprint for this release is on record, so a build that does not match it did not come from this publisher.

More Social apps

More from F-Droid

Report a problem with this listing

A listing is only as good as its corrections. If a source is broken, a signature looks wrong, or this app should not be here, tell the moderation team.

Report a problem