在application中Helper.install后,在activity中调用 DJISDKManager.ge...
Completed在application中Helper.install后,在activity中调用 DJISDKManager.getInstance(),或者UserAccountManager.getInstance() 就直接anr,请问是什么原因?
-
我调用了,但是执行到DJISDKManager.getInstance()的时候就anr了,根本之行不到registerApp
DJISDKManager.getInstance()?.registerApp(
application,
object : DJISDKManager.SDKManagerCallback {
override fun onProductChanged(p0: BaseProduct?) {
}
override fun onRegister(p0: DJIError?) {
if (p0 == DJISDKError.REGISTRATION_SUCCESS) {
DJISDKManager.getInstance()?.startConnectionToProduct()
//获取飞行区域数据库信息
DJISDKManager.getInstance()?.flyZoneManager?.getPreciseDatabaseVersion(
object : CommonCallbacks.CompletionCallbackWith<String> {
override fun onSuccess(p0: String?) {
}
override fun onFailure(p0: DJIError?) {
}
})
lifecycleScope.launch {
MainActivity.viewModel?.checkDjAccount?.postValue(true)
}
} else {
lifecycleScope.launch(Dispatchers.IO) {
delay(1000)
register()
}
ToastUtils.showShort("DJISDK register失败")
}
}
override fun onProductDisconnect() {
MainActivity.viewModel?.djConnectStatus?.postValue(false)
}
override fun onProductConnect(p0: BaseProduct?) {
MainActivity.viewModel?.djConnectStatus?.postValue(true)
}
override fun onComponentChange(
p0: BaseProduct.ComponentKey?,
p1: BaseComponent?,
p2: BaseComponent?,
) {
}
override fun onInitProcess(p0: DJISDKInitEvent?, p1: Int) {
}
override fun onDatabaseDownloadProgress(p0: Long, p1: Long) {
}
}) -
试试看跑Sample有没有问题,anr是无响应,会不会是系统太卡。 Link:https://github.com/dji-sdk/Mobile-SDK-Android
Please sign in to leave a comment.
Comments
5 comments