我花了一整天时间,所以希望有人回答。
我有一个基于位置的应用,我有一个LauncherActivity,可以进行一些设置,然后启动MainActivity。 LauncerActivity以两项重要检查结束:
这两个检查实际上是两个对话框。现在的问题是,在这两个检查之后出现了" startActivity(mainActivityIntent)"。这不允许前两次检查存在。我无法找到实现我需求的正确方法。我知道如何在用户同意启用GPS时启动设置,但我不知道如何识别他返回我的LauncherActivity,因此我可以启动MainActivity。
我尝试实现一些自定义界面,以便从"启用GPS"单击对话框时,我尝试通过BackStack操作它,但我找不到合适的方法。
我不确定我是否已经解释得很好,而且我的英语也不是那么好,所以如果你告诉我,我会乐意提供更多细节。我也可以发布一些代码来解释自己。
谢谢!
答案 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。