I made an app that have a request for camera and GPS, but whem I execute I am getting this Warm several times with less them 1 sec of each other.
W/Activity: Can reqeust only one set of permissions at a time)
Can some one tell me why?
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Intent intent = getIntent(); mStatusCamera = intent.getStringExtra("camera"); mScannerView = new ZXingScannerView(this) { @Override protected IViewFinder createViewFinderView(Context context) { return new CustomZXingScannerView(context); } }; List<BarcodeFormat> formats = new ArrayList<>(); mListaPassageiros = new ArrayList<>(); formats.add(BarcodeFormat.QR_CODE); setContentView(mScannerView); int currentapiVersion = android.os.Build.VERSION.SDK_INT; if (currentapiVersion >= android.os.Build.VERSION_CODES.M) { if (!checkPermission()) { requestPermission(); } else { executarDepoisDaPermissao(); } } } private boolean checkPermission() { return (ContextCompat.checkSelfPermission(getApplicationContext(), CAMERA) == PackageManager.PERMISSION_GRANTED && ContextCompat.checkSelfPermission(getApplicationContext(), ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED && ContextCompat.checkSelfPermission(getApplicationContext(), ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED); } public void executarDepoisDaPermissao() { final BancoController crud = new BancoController(getBaseContext()); mConectado = isNetworkAvailable(); }
Added RequestPermissio as requested.
private void requestPermission() { int currentapiVersion = android.os.Build.VERSION.SDK_INT; if (currentapiVersion >= android.os.Build.VERSION_CODES.M) { if (!checkPermission()) { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA, Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, ASK_MULTIPLE_PERMISSION_REQUEST_CODE); } } }
Can I use that way?