Update check permission x02
This commit is contained in:
parent
f06ac061ca
commit
7b397e78bd
@ -21,6 +21,7 @@ import com.dumon.plugin.geolocation.wifi.WifiPositioningManager
|
|||||||
import com.dumon.plugin.geolocation.wifi.WifiScanResult
|
import com.dumon.plugin.geolocation.wifi.WifiScanResult
|
||||||
import com.dumon.plugin.geolocation.fusion.SensorFusionManager
|
import com.dumon.plugin.geolocation.fusion.SensorFusionManager
|
||||||
import com.dumon.plugin.geolocation.utils.PermissionUtils
|
import com.dumon.plugin.geolocation.utils.PermissionUtils
|
||||||
|
import com.getcapacitor.annotation.PermissionCallback
|
||||||
import org.json.JSONArray
|
import org.json.JSONArray
|
||||||
import org.json.JSONObject
|
import org.json.JSONObject
|
||||||
|
|
||||||
@ -127,7 +128,8 @@ class DumonGeolocation : Plugin() {
|
|||||||
|
|
||||||
@PluginMethod
|
@PluginMethod
|
||||||
fun checkAndRequestPermissions(call: PluginCall) {
|
fun checkAndRequestPermissions(call: PluginCall) {
|
||||||
requestAllPermissions(call, "checkAndRequestPermissions")
|
// requestAllPermissions(call, "checkAndRequestPermissions")
|
||||||
|
requestAllPermissions(call, "onPermissionResult")
|
||||||
|
|
||||||
val locationStatus = PermissionUtils.getPermissionStatus(
|
val locationStatus = PermissionUtils.getPermissionStatus(
|
||||||
ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION)
|
ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION)
|
||||||
@ -208,6 +210,26 @@ class DumonGeolocation : Plugin() {
|
|||||||
call.resolve()
|
call.resolve()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PermissionCallback
|
||||||
|
private fun onPermissionResult(call: PluginCall) {
|
||||||
|
val locationStatus = PermissionUtils.getPermissionStatus(
|
||||||
|
ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION)
|
||||||
|
)
|
||||||
|
val wifiStatus = PermissionUtils.getPermissionStatus(
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU)
|
||||||
|
ActivityCompat.checkSelfPermission(context, Manifest.permission.NEARBY_WIFI_DEVICES)
|
||||||
|
else
|
||||||
|
PackageManager.PERMISSION_GRANTED
|
||||||
|
)
|
||||||
|
|
||||||
|
val result = JSObject().apply {
|
||||||
|
put("location", locationStatus)
|
||||||
|
put("wifi", wifiStatus)
|
||||||
|
}
|
||||||
|
|
||||||
|
call.resolve(result)
|
||||||
|
}
|
||||||
|
|
||||||
private fun emitPositionUpdate() {
|
private fun emitPositionUpdate() {
|
||||||
val now = System.currentTimeMillis()
|
val now = System.currentTimeMillis()
|
||||||
if (now - lastEmitTimestamp < emitIntervalMs) return
|
if (now - lastEmitTimestamp < emitIntervalMs) return
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user