Hello Egmont Ritter,
First, and most important, a huge THANK YOU for EgiGeoZone; I've been
using it for a couple of years, and I find it very useful.
It stopped working for me a few days ago, on my internal (Wifi)
network, though it still works when the phone is on cell data.
After a few hours of debugging with help from Claude.AI, I found
the problem: my Pixel8 updated around the same time to Android 17
with the August 5, 2026 update. According to the AI:
Starting in Android 17, local network access is gated behind a
runtime permission (ACCESS_LOCAL_NETWORK), and the restrictions are
implemented deep in the networking stack, so they apply to all
networking APIs — sockets in platform or managed code, Cronet,
OkHttp, and anything built on them.
Apps targeting SDK 37+ are blocked by default; apps targeting SDK <
37 get an implicit grant and keep working.
The ACCESS_LOCAL_NETWORK permission is part of the "NEARBY_DEVICES"
group, which I have allowed, but the app has to explicitly request the
specific permission, and:
# adb shell dumpsys package de.egi.geofence.geozone | grep -iE 'targetSdk|versionName|LOCAL_NETWORK|NEARBY'
versionCode=3310 minSdk=26 targetSdk=37
versionName=3.3.1
... that is, the app does not request the ACCESS_LOCAL_NETWORK
permission. The symptom is a timeout with this error (on test):
Error (GR02) in get of the server response:
java.net.SocketTimeoutException: failed to connect to
geofence.porcupine.ca/192.168.1.2 (port 443) from /192.168.1.75
(port 55218) after 30000ms
I wonder if you could add that permission and issue a new version?
And I'd like to report two small documentation bugs that I encountered
on your web site (
www.egigeozone.de) while looking into this problem:
- The History section stops at Version 3.2.1, but I have 3.3.1.
- The Manual doesn't explain what a "fallback profile" is. If it
means that the next profile is tried after this one fails: does it
proceed quietly, or notify that there's an error connecting to the
first one, each time?
Thank you again!
Anne.