【发布时间】:2016-10-06 00:43:08
【问题描述】:
我想问用户他是否要授予访问其精细位置的权限,并且只有当他授予它时,我才想替换片段并打开定位器片段。在定位器片段中,用户可以根据他的位置看到一些商店。如果他不允许访问良好的位置,我想向他展示正确的信息。这是代码:
else if (id == R.id.nav_locator) {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
1);
fragment = new LocatorFragment();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.fragmentlayout, fragment);
ft.commit();
应用程序当前正在崩溃,因为它将立即开始替换片段,并且它将崩溃,因为它在用户选择批准或不批准位置之前替换。
所以基本上我需要一些循环想法或一些东西,如果他选择不允许许可并向他显示足够的信息,它将忽略用户请求。如果他选择授予,那么我需要像普通一样替换片段。
【问题讨论】:
-
将片段代码移动到
onRequestPermissionsResult..!! -
我做到了它的工作,但第一次当我授予权限应用程序关闭.O
-
你的意思是有任何错误,所以应用程序关闭或它只是你的要求关闭应用程序?
-
当我授予权限时它会自动关闭,然后当我重新启动时它会像魅力一样工作,因为它有权限
-
请检查您的日志。应该有一些错误。如果可能,请在此处添加您的
logcat..!!
标签: android android-fragments android-studio android-permissions