我正在尝试让用户在启动应用之前启用NFC和蓝牙。 但是,当我使用 startActivityForResult 和** onActivityResult **时,它仍然会继续运行。
以下是代码:
a
请让我知道我做错了什么。
谢谢!
答案 0 :(得分:0)
如果我理解正确,那么您似乎期望在调用initBT()
后第一个Activity中的执行暂停,直到启动的Activity返回。这不是正在发生的事情。启动活动是异步发生的。这意味着当您致电startActivityForResult()
时,该任务已排队,您的代码将继续运行,直到暂停为止。在您的情况下,可能在onCreate()
返回后,这意味着initBT()
,initNFC()
和StartApp()
方法将在第一个Activity暂停时调用第一个结果。
解决方案是暂停调用下一个方法,直到上一个返回。也就是说,将initNFC()
和StartApp()
的调用移至onActivityResult()
中的相应块。