【问题标题】:Not showing Runtime Permissions Dialog in a particular Fragment未在特定片段中显示运行时权限对话框
【发布时间】: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


【解决方案1】:

我遇到了同样的问题,但这是我的错
我忘记在 Manifest 中定义权限 如果清单中缺少权限,则不会出现允许权限对话框尝试定义这些权限

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

在清单中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-19
    • 2021-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-06
    • 1970-01-01
    • 2016-10-22
    相关资源
    最近更新 更多