使用自定义的wpml在msdk进行航线上传出现的问题
已完成我参照waylines.wpml说明文档中对各个字段的说明,自己编写代码构建了一个自己的waylines.wpml文件。
接下来我将其压缩为zip文件,并将后缀改为kmz,使用
WaypointMissionManager.getInstance().pushKMZFileToAircraft( "/storage/emulated/0/kmzFile/waylines.kmz", object :
CommonCallbacks.CompletionCallbackWithProgress<Double>
进行航线任务上传,但是提示错误信息:ErrorImp{errorType='WAYPOINT', errorCode='GENERATE_MISSION_FILE_FAILED', innerCode='null', description='航线文件操作过程中异常,请检查权限', hint=''} 请问是我的操作步骤哪里出现了问题吗?
-
应用有读取外部存储的权限,在manifest中添加了,我也检查了一下,是有权限的
private fun checkPermission() {
if (ContextCompat.checkSelfPermission(requireContext(), Manifest.permission.READ_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
// 权限未被授予,申请权限
requestPermissions(arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE), REQUEST_CODE_READ_EXTERNAL_STORAGE)
} else {
// 权限已被授予,可以进行读取操作
//readStorage()
Toast.makeText(requireContext(), "读取存储权限被允许", Toast.LENGTH_SHORT).show()
println("读取存储权限被允许")
}
}
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
when (requestCode) {
REQUEST_CODE_READ_EXTERNAL_STORAGE -> {
if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 用户授予了读取存储的权限
//readStorage()
Toast.makeText(requireContext(), "读取存储权限被允许", Toast.LENGTH_SHORT).show()
println("读取存储权限被允许")
} else {
// 用户拒绝了读取存储的权限
Toast.makeText(requireContext(), "读取存储权限被拒绝", Toast.LENGTH_SHORT).show()
println("读取存储权限被拒绝")
}
}
REQUEST_CODE_LOCATION_PERMISSION -> {
// 检查定位权限请求的结果
if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 用户授予了定位权限
getLocation()
} else {
// 用户拒绝了定位权限
Toast.makeText(requireContext(), "定位权限被拒绝", Toast.LENGTH_SHORT).show()
}
}
}
}
请先登录再写评论。
评论
3 条评论