Fix: Add missing permissions and runtime permission handling for auto-sync
Critical fixes for SSID detection on Android 12+: - Add CHANGE_WIFI_STATE permission (NetworkCallback registration) - Add ACCESS_BACKGROUND_LOCATION permission (SSID access) - Add FOREGROUND_SERVICE_DATA_SYNC permission SettingsActivity improvements: - Add checkBackgroundLocationPermission() method - Show dialog explaining need for 'Always allow' location - Request permission with proper callbacks - Better user feedback for permission grants/denials NetworkMonitor improvements: - Add initial WiFi check in startMonitoring() - Add NET_CAPABILITY_INTERNET to NetworkRequest - Better error handling for '<unknown ssid>' cases - Log warning about missing BACKGROUND_LOCATION permission This should fix the root cause: SSID was showing as '<unknown ssid>' because app lacked background location permission on Android 16. User must select 'Always allow' when prompted for location permission.
This commit is contained in:
@@ -5,9 +5,13 @@
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
||||
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
|
||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
||||
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />
|
||||
|
||||
<application
|
||||
android:name=".SimpleNotesApplication"
|
||||
|
||||
Reference in New Issue
Block a user