This tip are for those who creating there app for Android Marshmallow. In android M there are no of good updates for users security but if you are developer it little increase your work at once, now i am going to explain how to add Permission or Request user for permission.

Request Permissions Android M

Step 1. In your MainActivity or any class where you need special permission like access camera or read contact etc. Add a static variable which we use to handle results

private static final int Permission_Request = 211;

Step 2. Now inside your onCreate method add check for android and request for permission

if (android.os.Build.VERSION.SDK_INT >= 23) {
            // only for gingerbread and newer versions
            String permission = Manifest.permission.CAMERA;
            if (checkSelfPermission(permission) != PackageManager.PERMISSION_GRANTED) {
                ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE}, MY_PERMISSIONS_REQUEST_READ_CONTACTS);
            } else {
                // Add your function here which open camera
            }
        } else {
            // Add your function here which open camera
        }

Step 3. Now implement onRequestPermissionsResult method to handle result

@Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        switch (requestCode) {
            case MY_PERMISSIONS_REQUEST_READ_CONTACTS: {
                // If request is cancelled, the result arrays are empty.
                if (grantResults.length > 0
                        && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
   // Add your function here which open camera
} else {
 Toast.makeText(getApplication(), "Permission required", Toast.LENGTH_LONG).show(); 
} return; } 
}
}

Now once user allow this setting you can access that thing in your app.

for more also check Working with System Permissions

Hope this help you. 🙂