feat: add permission screen shown before main screen
This commit is contained in:
parent
a7a6a6a82d
commit
650a6efeca
6 changed files with 562 additions and 1 deletions
|
|
@ -7,6 +7,7 @@
|
|||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
|
||||
|
||||
<application
|
||||
android:label="traccar_client"
|
||||
|
|
|
|||
|
|
@ -87,6 +87,9 @@ class BridgeModule : FlutterPlugin, MethodChannel.MethodCallHandler {
|
|||
val limit = (call.arguments as? Number)?.toInt() ?: 100
|
||||
fetchLogs(limit, result)
|
||||
}
|
||||
"openBatteryOptimizationSettings" -> {
|
||||
openBatteryOptimizationSettings(result)
|
||||
}
|
||||
else -> result.notImplemented()
|
||||
}
|
||||
}
|
||||
|
|
@ -189,4 +192,27 @@ class BridgeModule : FlutterPlugin, MethodChannel.MethodCallHandler {
|
|||
}
|
||||
}.start()
|
||||
}
|
||||
|
||||
private fun openBatteryOptimizationSettings(result: MethodChannel.Result) {
|
||||
try {
|
||||
val packageName = context?.packageName ?: ""
|
||||
val intent = android.content.Intent("android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS").apply {
|
||||
data = android.net.Uri.parse("package:$packageName")
|
||||
}
|
||||
intent.addFlags(android.content.Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
context?.startActivity(intent)
|
||||
result.success(true)
|
||||
} catch (e: Exception) {
|
||||
// Fallback to general battery settings
|
||||
try {
|
||||
val intent = android.content.Intent("android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS").apply {
|
||||
}
|
||||
intent.addFlags(android.content.Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
context?.startActivity(intent)
|
||||
result.success(true)
|
||||
} catch (e2: Exception) {
|
||||
result.success(false)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue