【发布时间】:2018-05-18 13:09:30
【问题描述】:
我正在开发一个依赖于地图和位置的安卓应用程序。
我有包含fragmentA 的ActivityA。
我有一个警报,要求用户在fragmentA 中打开定位服务。
当用户接受打开服务时,我希望我的代码继续运行,否则finish() 应用程序。所以我应该使用OnActivityResult() 来了解用户在警报中按下了什么。
我的问题是当用户接受打开位置时,函数OnActivityResult() 是在活动中而不是在片段中启动的。
我读到了这个问题,人们建议打电话给startActivityForResult(...)而不是startActivity(...)。
但是我不能从内部片段开始活动,因为这将导致有关意图中的数据的崩溃问题。
那么有人有什么建议吗?
这是在fragmentA中请求位置的函数。
【问题讨论】:
-
@ADM 我看到了这篇文章,我认为他们正在谈论从另一个活动中获取结果,我的问题是从同一活动中获取结果。
-
But I can't start the activity from an inside fragment because this will lead to crash problems?这是什么意思?虽然您可以使用片段中的startActivityForResult()? -
我正在从另一个活动 (ActivityB) 开始活动 (ActivityA),并按意图发送数据并将它们放入
ActivityA,所以当我从片段调用startActivityForResult()时,数据意图内部是空值。我可以知道我是从ActivityB还是从片段 (fragmentA) 开始活动 (ActivityA),但我正在以更简单的方式进行搜索。
标签: android android-fragments onactivityresult