繁体   English   中英

未在特定片段中显示运行时权限对话框

[英]Not showing Runtime Permissions Dialog in a particular Fragment

运行时权限对话框未显示在特定片段中。 例如,有5个碎片。 在One 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();
                }
            }
        }
    }

什么都没有被召唤。

我面临同样的问题,但这是我的错
如果在Manifest中缺少权限尝试定义这些权限,我伪造在Manifest中定义权限允许权限对话框没有出现

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

在清单中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM