首先,在安卓APP的manifest文件中添加以下代码,以申请完全网络访问权限:

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

在APP的入口处(即MainActivity中),添加以下代码,以请求网络访问权限:

if (ContextCompat.checkSelfPermission(this, Manifest.permission.INTERNET) != PackageManager.PERMISSION_GRANTED) {
    ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.INTERNET}, 1);
}

在APP中需要进行网络访问的地方,添加以下代码,以检查网络访问权限是否已经被授予:

if (ContextCompat.checkSelfPermission(this, Manifest.permission.INTERNET) != PackageManager.PERMISSION_GRANTED) {
    // 如果权限未被授予,则弹出提示框
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle("提示");
    builder.setMessage("网络访问权限未授权,请前往设置授权");
    builder.setPositiveButton("前往设置", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            // 跳转到APP设置页面
            Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
            intent.setData(Uri.parse("package:" + getPackageName()));
            startActivity(intent);
        }
    });
    builder.setNegativeButton("取消", null);
    builder.show();
} else {
    // 执行网络访问操作
    // TODO: ...
}

当用户拒绝授权时,会触发以下回调方法,在其中弹出提示框:

@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
    switch (requestCode) {
        case 1:
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                // 用户授权成功,执行网络访问操作
                // TODO: ...
            } else {
                // 用户拒绝授权,弹出提示框
                AlertDialog.Builder builder = new AlertDialog.Builder(this);
                builder.setTitle("提示");
                builder.setMessage("网络访问权限未授权,可能无法正常使用APP");
                builder.setPositiveButton("去授权", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // 跳转到APP设置页面
                        Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
                        intent.setData(Uri.parse("package:" + getPackageName()));
                        startActivity(intent);
                    }
                });
                builder.setNegativeButton("取消", null);
                builder.show();
            }
            break;
        default:
            break;
    }
}

以上就是在安卓APP中申请完全网络访问权限及拒绝时弹窗提示的详细步骤

写一个安卓APP 打开软件时申请完全网络访问权限 拒绝时test弹窗提示 加在哪里说详细 中文

原文地址: http://www.cveoy.top/t/topic/fPFt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录