我正在制作的应用程序采用两种方法A和B中的一种。一旦用户启动应用程序,它就会请求使用其位置的权限。如果用户授予权限,则采用方法A.如果用户未授予权限,则采用方法B.在等待回调后必须继续执行,但我不能这样做,因为我必须根据用户响应做出选择所以我必须等。
但是我被告知你不能等待用户响应。这是真的吗?
最后,有人告诉我要求权限,等待开始采取我们没有权限的方法。但是,在尝试此操作时,将显示布局,并且应用程序等待用户单击基本上阻止权限弹出对话框的按钮。我知道这一点,因为每次点击任何按钮,都会弹出权限对话框。所以这意味着用户已经承认他们正在使用不使用其位置的方法。
我的错误是什么?或者更确切地说,我可以做些什么来等待用户的反应?
解决 我创建了一个新的活动,我在其中执行所有权限请求并声明回调。等待通过什么都不做来实现,活动只是没有方法刚刚结束,并且当调用权限的回调时我切换活动。
答案 0 :(得分:-1)
你不能等待回应。你需要异步处理它。由您来设计适当的UI来处理这个问题。
本演讲将有助于解释Android安全性和新权限架构的背景:http://po.st/0IorQW
此外,此权限帮助程序库可以更轻松地处理它并推荐的UX指南:https://github.com/hiqes/andele