当用户从Android中的设置活动返回时,如何获得回调?

时间:2017-01-05 15:07:12

标签: android android-activity callback gps android-lifecycle

我花了一整天时间,所以希望有人回答。

我有一个基于位置的应用,我有一个LauncherActivity,可以进行一些设置,然后启动MainActivity。 LauncerActivity以两项重要检查结束:

  1. 检查GPS权限,如果不存在则会询问。
  2. 检查GPS是否立即启用,如果没有 - 请用户启用它。
  3. 这两个检查实际上是两个对话框。现在的问题是,在这两个检查之后出现了" startActivity(mainActivityIntent)"。这不允许前两次检查存在。我无法找到实现我需求的正确方法。我知道如何在用户同意启用GPS时启动设置,但我不知道如何识别他返回我的LauncherActivity,因此我可以启动MainActivity。

    我尝试实现一些自定义界面,以便从"启用GPS"单击对话框时,我尝试通过BackStack操作它,但我找不到合适的方法。

    我不确定我是否已经解释得很好,而且我的英语也不是那么好,所以如果你告诉我,我会乐意提供更多细节。我也可以发布一些代码来解释自己。

    谢谢!

1 个答案:

答案 0 :(得分:0)

使用LauncherActivity中的onRequestPermissionsResult方法,如下所示:

@Override
public void onRequestPermissionsResult(int requestCode,
                                       @NonNull String permissions[],@NonNull int[] grantResults) {
    if(requestCode == REQUEST_CODE && grantResults.length > 0
            && grantResults[0] == PackageManager.PERMISSION_GRANTED){
        startActivity(new Intent(this,MainActivity.class));
    }
}

检查结果是否成功。 REQUEST_CODE是您使用requestPemissions发送的随机int。