0
public int numbPermissions = 9;
  public String[] permissions = new String[numbPermissions];



@Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    permissions[0] = android.Manifest.permission.ACCESS_NETWORK_STATE;
    permissions[1] = android.Manifest.permission.ACCESS_WIFI_STATE;
    permissions[2] = android.Manifest.permission.CHANGE_WIFI_STATE;
    permissions[3] = android.Manifest.permission.INTERNET;
    permissions[4] = android.Manifest.permission.READ_EXTERNAL_STORAGE;
    permissions[5] = android.Manifest.permission.CHANGE_NETWORK_STATE;
    permissions[6] = android.Manifest.permission.WRITE_EXTERNAL_STORAGE;
    permissions[7] = android.Manifest.permission.ACCESS_COARSE_LOCATION;
    permissions[8] = android.Manifest.permission.ACCESS_FINE_LOCATION;
    //permissions[9] = android.Manifest.permission.ACCESS_BACKGROUND_LOCATION;


    if (!checkPermissions()) {
      ActivityCompat.requestPermissions(MainActivity.this, permissions, 49);
    } else {
      Intent intent = new Intent(MainActivity.this, FileActivity.class);
//      intent.setFlags(intent.getFlags() | Intent.FLAG_ACTIVITY_NO_HISTORY);
      this.startActivity(intent);
    }

  }

Above code is in onCreate. Below code is as follows:

@Override
      public void onRequestPermissionsResult(int requestCode,
                                             @NonNull String permissions[], @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        switch (requestCode) {
          case 49: {
            if (!checkPermissions()) {
              ActivityCompat.requestPermissions(MainActivity.this, permissions, 49);
            } else {
              Intent intent = new Intent(MainActivity.this, FileActivity.class);
    //          intent.setFlags(intent.getFlags() | Intent.FLAG_ACTIVITY_NO_HISTORY);
              this.startActivity(intent);
            }
          }
        }
      }

  public boolean checkPermissions() {
    for (int i = 0; i < numbPermissions; i++) {
      if (ContextCompat.checkSelfPermission(this, permissions[i]) != PackageManager.PERMISSION_GRANTED)
        return false;
    }
    return true;
  }

I am using above code for runtime location permission. but when I am allowing location permission, it is not turning on the location icon of android device.

what is wrong I am doing here?

T B
  • 191
  • 4
  • 22
  • Location permission only grants access to location to your app it does not turn on Location services. To check how to turn on location services see this answer https://stackoverflow.com/questions/25175522/how-to-enable-location-access-programmatically-in-android – Manohar Jan 10 '23 at 09:17

0 Answers0