private void checkPermission()
    {
        List<String> permissionsNeeded = new ArrayList<String>();
        final List<String> permissionsList = new ArrayList<String>();
        if (!addPermission(permissionsList, Manifest.permission.INTERNET))
            permissionsNeeded.add("1");
        if (!addPermission(permissionsList, Manifest.permission.CHANGE_WIFI_STATE))
            permissionsNeeded.add("2");
        if (!addPermission(permissionsList, Manifest.permission.WAKE_LOCK))
            permissionsNeeded.add("3");
        if (!addPermission(permissionsList, Manifest.permission.ACCESS_WIFI_STATE))
            permissionsNeeded.add("4");
        if (!addPermission(permissionsList, Manifest.permission.READ_PHONE_STATE))
            permissionsNeeded.add("5");
        if (!addPermission(permissionsList, Manifest.permission.ACCESS_COARSE_LOCATION))
            permissionsNeeded.add("6");
        if (!addPermission(permissionsList, Manifest.permission.ACCESS_FINE_LOCATION))
            permissionsNeeded.add("7");
        if (!addPermission(permissionsList, "com.google.android.providers.gsf.permission.READ_GSERVICES"))
            permissionsNeeded.add("8");
        if (!addPermission(permissionsList, "com.google.android.c2dm.permission.RECEIVE"))
            permissionsNeeded.add("9");
        if (!addPermission(permissionsList, "com.example.gcm.permission.C2D_MESSAGE"))
            permissionsNeeded.add("10");
        if (!addPermission(permissionsList, "com.example.gcm.permission.C2D_MESSAGE"))
            permissionsNeeded.add("11");
        if (permissionsList.size() > 0)
        {
            if (permissionsNeeded.size() > 0)
            {
                ActivityCompat.requestPermissions(MainActivity.this,
                        permissionsList.toArray(new String[permissionsList.size()]),
                        REQUEST_CODE_ASK_MULTIPLE_PERMISSIONS);
            }
        }
    }