该函数的用途是什么:setRequestPermisssionsResult?

问题描述 投票:0回答:1

这是我的讲师给出的示例代码。我理解整个事情,除了有一个叫做“setRequestPermisssionsResult”的函数的部分。我没有看到它在代码中的任何地方调用,我想知道它是否有用。

该计划运行完美。

    }
    public void EnableRuntimePermission() {
        ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.INTERNET}, REQUEST_CODE);
    }

    public void setRequestPermisssionsResult(int requestCode, String permissions[], int[] grantResults) {
        switch (requestCode) {
            case REQUEST_CODE:
                if (grantResults.length > 0 && (grantResults[0] == PackageManager.PERMISSION_GRANTED)) {
                    Toast.makeText(MainActivity.this, "Internet permission granted.", Toast.LENGTH_LONG).show();
                } else {
                    Toast.makeText(MainActivity.this, "Internet permission not granted.", Toast.LENGTH_LONG).show();
                }

                break;
        }

    }
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        EnableRuntimePermission();
        if (ActivityCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.INTERNET)== PackageManager.PERMISSION_GRANTED){
            Toast.makeText(getApplicationContext(),"Internet Permission Granted", Toast.LENGTH_LONG).show();
        FetchData fetchData=new FetchData();
        fetchData.execute("a18b978603316d47c572d98d52a420f6");
        }
android android-permissions
1个回答
0
投票

如果根本没有调用该方法,则意味着它没有被使用。

无论如何,现在有两种方式在Android中请求权限。一个来自Android Manifest(不直接询问用户)和编程方式来自Java / Kotlin代码。这些是“更重要的”。在这种情况下,用户将看到用于访问手机上的内容的对话框,可能是相机硬件或其他东西,并且他有权允许或拒绝。你的教授刚刚通过一种方法将所有权限存储在那里,这意味着他重构了在整个应用程序中请求权限的方式。

这是documentation的许可

© www.soinside.com 2019 - 2024. All rights reserved.