首页 > 解决方案 > 将 && 运算符与布尔值和整数一起使用。错误!&& 不能与布尔值和整数一起使用

问题描述

if(grantResults.length>0 && grantResults[0]=PackageManager.PERMISSION_GRANTED)
            {
               if(ContextCompat.checkSelfPermission(MainActivity.this,Manifest.permission.READ_PHONE_STATE)==PackageManager.PERMISSION_GRANTED)
                {
                    Toast.makeText(this,"Permission Granted",Toast.LENGTH_SHORT).show();
                }

            }

标签: android

解决方案


您已经使用一个等号来获得两个无效的变量的相等性,您应该使用两个等号来获得两个变量的相等性而不是一个等号,因此请尝试更改:-

老的

if(grantResults.length>0 && grantResults[0] /*there ->*/ = PackageManager.PERMISSION_GRANTED) { 
    if(ContextCompat.checkSelfPermission(MainActivity.this,
    Manifest.permission.READ_PHONE_STATE)==PackageManager.PERMISSION_GRANTED) { 
        Toast.makeText(this,"Permission Granted",Toast.LENGTH_SHORT).show(); 
    }
}

新的

if(grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { 
    if(ContextCompat.checkSelfPermission(MainActivity.this,
    Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) { 
        Toast.makeText(this,"Permission Granted",Toast.LENGTH_SHORT).show(); 
    }
}

推荐阅读