函数setRequestPermisssionsResult的用途是什么?

时间:2019-04-25 13:53:14

标签: android android-permissions

这是我的讲师提供的示例代码。除了具有称为“ 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");
        }

1 个答案:

答案 0 :(得分:0)

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

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

这里是documentation的权限