Android 开关箱被多次调用

Android 开关箱被多次调用,android,Android,我面临这个问题,但我不明白为什么开关箱被多次调用。为此,我上传了完整的文件 在logcat中,该行已显示多次 03-01 17:23:31.861 10958-11008/com.example.akki.assignment2 E/Surface:getSlotFromBufferLocked:未知缓冲区:0xb40d3810 您需要在每个案例后添加break @Override public void onRequestPermissionsResult(int requestcode, S

我面临这个问题,但我不明白为什么开关箱被多次调用。为此,我上传了完整的文件

在logcat中,该行已显示多次

03-01 17:23:31.861 10958-11008/com.example.akki.assignment2 E/Surface:getSlotFromBufferLocked:未知缓冲区:0xb40d3810


您需要在每个案例后添加
break

@Override
public void onRequestPermissionsResult(int requestcode, String[]  permissions, int[] grantResults) {
    Toast.makeText(this,"REquest: " + requestcode,Toast.LENGTH_SHORT).show();
    switch (requestcode) {
        case 0: {
            if (grantResults.length == 2 && grantResults[0] ==  PackageManager.PERMISSION_GRANTED && grantResults[1] == PackageManager.PERMISSION_GRANTED) {
            // onResume();
            } else if (grantResults.length > 0) {
                //Toast.makeText(this, "In else", Toast.LENGTH_LONG).show();

                // boolean shouldshow1 =  ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_FINE_LOCATION);
                boolean shouldshow = ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_COARSE_LOCATION);
                if (shouldshow == false) {
                    RequestPermission();
                    /*Toast.makeText(this,"Go to App setting to enable permission or Press Device Back Button to Exit",Toast.LENGTH_LONG).show();*/
                    //   onBackPressed();
                } else {
                    Intent intent = new Intent(Intent.ACTION_MAIN);
                    intent.addCategory(Intent.CATEGORY_HOME);
                    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    startActivity(intent);
                    finish();
                    System.exit(0);
                }
                // System.exit(0);
            }
            break;
        }
        default: {
            Toast.makeText(this,"default case",Toast.LENGTH_SHORT).show();
            break;
        }
        //        super.onRequestPermissionsResult(requestcode, permissions,  grantResults);
}

}

您需要在每个案例之后添加
中断

@Override
public void onRequestPermissionsResult(int requestcode, String[]  permissions, int[] grantResults) {
    Toast.makeText(this,"REquest: " + requestcode,Toast.LENGTH_SHORT).show();
    switch (requestcode) {
        case 0: {
            if (grantResults.length == 2 && grantResults[0] ==  PackageManager.PERMISSION_GRANTED && grantResults[1] == PackageManager.PERMISSION_GRANTED) {
            // onResume();
            } else if (grantResults.length > 0) {
                //Toast.makeText(this, "In else", Toast.LENGTH_LONG).show();

                // boolean shouldshow1 =  ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_FINE_LOCATION);
                boolean shouldshow = ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_COARSE_LOCATION);
                if (shouldshow == false) {
                    RequestPermission();
                    /*Toast.makeText(this,"Go to App setting to enable permission or Press Device Back Button to Exit",Toast.LENGTH_LONG).show();*/
                    //   onBackPressed();
                } else {
                    Intent intent = new Intent(Intent.ACTION_MAIN);
                    intent.addCategory(Intent.CATEGORY_HOME);
                    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    startActivity(intent);
                    finish();
                    System.exit(0);
                }
                // System.exit(0);
            }
            break;
        }
        default: {
            Toast.makeText(this,"default case",Toast.LENGTH_SHORT).show();
            break;
        }
        //        super.onRequestPermissionsResult(requestcode, permissions,  grantResults);
}

}

您忘记了在
案例0:
之后和
default
关键字之前的中断您忘记了在
案例0:
之后和
default
关键字之前的中断