【发布时间】:2017-05-18 11:41:04
【问题描述】:
运行时权限对话框未显示在特定片段中。例如,有 5 个片段。在一个片段中有一张地图。当用户单击特定的 Fragment 时,应向用户弹出对话框。
到目前为止,我所做的是:-
if (Prefs.getLatitude(getActivity()).equalsIgnoreCase("") && Prefs.getLongitude(getActivity()).equalsIgnoreCase("")) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
mCheckPermissionP();
}
mCheckPermissionP() 包含以下代码:-
public void mCheckPermissionP() {
if (ActivityCompat.checkSelfPermission(getActivity(), Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(getActivity(),
Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION},
PERMISSION_REQUEST_FINE_LOCATION);
}
}
onRequestPermissionresult()里面的代码如下:-
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode) {
case PERMISSION_REQUEST_FINE_LOCATION: {
if (grantResults.length == 0 || grantResults[0] != PackageManager.PERMISSION_GRANTED) {
initilizeMap();
} else {
initilizeMap();
}
}
}
}
什么都没有被调用。
【问题讨论】:
-
检查是否已经授予权限
-
没有弹出窗口显示...
-
你检查设置是否已经授予权限(如果已经授予它不会显示弹出窗口)
-
已检查...拒绝...
-
调试代码并查看它是否到达语句或查看当前的任何错误日志
标签: android android-fragments runtime-permissions