首页 > 解决方案 > 函数的用途是什么:setRequestPermisssionsResult?

问题描述

这是我的讲师给出的示例代码。我理解整个事情,除了有一个名为“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");
        }

标签: androidandroid-permissions

解决方案


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

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

这是许可文件


推荐阅读