Created
June 28, 2018 20:17
-
-
Save Binary-Finery/f168519ecff182754afda58557bf3234 to your computer and use it in GitHub Desktop.
requesting multiple permissions [easy]
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import android.Manifest; | |
import android.content.pm.PackageManager; | |
import android.os.Bundle; | |
import android.support.annotation.NonNull; | |
import android.support.v4.app.ActivityCompat; | |
import android.support.v7.app.AppCompatActivity; | |
import android.support.v7.widget.Toolbar; | |
import android.widget.Toast; | |
import com.spencerstudios.mylocation.R; | |
public class LauncherActivity extends AppCompatActivity { | |
// be sure to include all of the required permissions in your apps manifest, | |
// for example: | |
// <uses-permission android:name="android.permission.SEND_SMS" /> | |
private final static int PERMISSIONS_REQUEST_CODE = 100; | |
private final static String[] PERMISSIONS = { | |
Manifest.permission.ACCESS_FINE_LOCATION, | |
Manifest.permission.ACCESS_COARSE_LOCATION, | |
Manifest.permission.SEND_SMS, | |
Manifest.permission.READ_CONTACTS | |
}; | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_launcher); | |
Toolbar toolbar = findViewById(R.id.toolbar); | |
setSupportActionBar(toolbar); | |
requestPermissions(); | |
} | |
private void requestPermissions() { | |
for (String PERMISSION : PERMISSIONS) { | |
if (ActivityCompat.checkSelfPermission(this, PERMISSION) != PackageManager.PERMISSION_GRANTED) { | |
ActivityCompat.requestPermissions(this, PERMISSIONS, PERMISSIONS_REQUEST_CODE); | |
break; | |
} | |
} | |
} | |
@Override | |
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { | |
super.onRequestPermissionsResult(requestCode, permissions, grantResults); | |
boolean allPermissionsGranted = true; | |
if (requestCode == PERMISSIONS_REQUEST_CODE) { | |
if (grantResults.length > 0) { | |
for (int grantResult : grantResults) { | |
if (grantResult != PackageManager.PERMISSION_GRANTED) { | |
allPermissionsGranted = false; | |
break; | |
} | |
} | |
} | |
} | |
if (!allPermissionsGranted) { | |
// not all permissions have been granted, so let's request them again... | |
// note: Android will only request permissions that haven't already been granted, | |
// it will not request granted permissions again | |
requestPermissions(); | |
} else { | |
// all permissions have been granted, as a token of our appreciation, | |
// lets display a toast and continue with our app | |
Toast.makeText(getApplicationContext(), "Thanks", Toast.LENGTH_LONG).show(); | |
letTheGamesBegin(); | |
} | |
} | |
private void letTheGamesBegin() { | |
//todo: blah blah | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment