Example usage for android.content.pm PackageManager PERMISSION_GRANTED

List of usage examples for android.content.pm PackageManager PERMISSION_GRANTED

Introduction

In this page you can find the example usage for android.content.pm PackageManager PERMISSION_GRANTED.

Prototype

int PERMISSION_GRANTED

To view the source code for android.content.pm PackageManager PERMISSION_GRANTED.

Click Source Link

Document

Permission check result: this is returned by #checkPermission if the permission has been granted to the given package.

Usage

From source file:co.taqat.call.LinphoneActivity.java

@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
    if (permissions.length <= 0)
        return;//from  ww w  . j  ava 2 s  .  c om

    int readContactsI = -1;
    for (int i = 0; i < permissions.length; i++) {
        Log.i("[Permission] " + permissions[i] + " is "
                + (grantResults[i] == PackageManager.PERMISSION_GRANTED ? "granted" : "denied"));
        if (permissions[i].compareTo(Manifest.permission.READ_CONTACTS) == 0)
            readContactsI = i;
    }

    switch (requestCode) {
    case PERMISSIONS_REQUEST_SYNC:
        if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
            ContactsManager.getInstance().initializeSyncAccount(getApplicationContext(), getContentResolver());
        } else {
            ContactsManager.getInstance().initializeContactManager(getApplicationContext(),
                    getContentResolver());
        }
        break;
    case PERMISSIONS_RECORD_AUDIO_ECHO_CANCELLER:
        if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
            ((SettingsFragment) fragment).startEchoCancellerCalibration();
        } else {
            ((SettingsFragment) fragment).echoCalibrationFail();
        }
        break;
    case PERMISSIONS_READ_EXTERNAL_STORAGE_DEVICE_RINGTONE:
        if (permissions[0].compareTo(Manifest.permission.READ_EXTERNAL_STORAGE) != 0)
            break;
        boolean enableRingtone = (grantResults[0] == PackageManager.PERMISSION_GRANTED);
        LinphonePreferences.instance().enableDeviceRingtone(enableRingtone);
        LinphoneManager.getInstance().enableDeviceRingtone(enableRingtone);
        break;
    case PERMISSIONS_RECORD_AUDIO_ECHO_TESTER:
        if (grantResults[0] == PackageManager.PERMISSION_GRANTED)
            ((SettingsFragment) fragment).startEchoTester();
        break;
    }
    if (readContactsI >= 0 && grantResults[readContactsI] == PackageManager.PERMISSION_GRANTED) {
        ContactsManager.getInstance().enableContactsAccess();
        if (!fetchedContactsOnce) {
            ContactsManager.getInstance().enableContactsAccess();
            ContactsManager.getInstance().fetchContactsAsync();
            fetchedContactsOnce = true;
        }
    }
}

From source file:co.taqat.call.LinphoneActivity.java

@Override
protected void onStart() {
    super.onStart();
    ArrayList<String> permissionsList = new ArrayList<String>();

    int contacts = getPackageManager().checkPermission(Manifest.permission.READ_CONTACTS, getPackageName());
    Log.i("[Permission] Contacts permission is "
            + (contacts == PackageManager.PERMISSION_GRANTED ? "granted" : "denied"));

    int readPhone = getPackageManager().checkPermission(Manifest.permission.READ_PHONE_STATE, getPackageName());
    Log.i("[Permission] Read phone state permission is "
            + (readPhone == PackageManager.PERMISSION_GRANTED ? "granted" : "denied"));

    int ringtone = getPackageManager().checkPermission(Manifest.permission.READ_EXTERNAL_STORAGE,
            getPackageName());//  ww  w. j  a  va 2s.  c  om
    Log.i("[Permission] Read external storage for ring tone permission is "
            + (ringtone == PackageManager.PERMISSION_GRANTED ? "granted" : "denied"));

    if (ringtone != PackageManager.PERMISSION_GRANTED) {
        if (LinphonePreferences.instance()
                .firstTimeAskingForPermission(Manifest.permission.READ_EXTERNAL_STORAGE)
                || ActivityCompat.shouldShowRequestPermissionRationale(this,
                        Manifest.permission.READ_EXTERNAL_STORAGE)) {
            Log.i("[Permission] Asking for read external storage for ring tone");
            permissionsList.add(Manifest.permission.READ_EXTERNAL_STORAGE);
        }
    }
    if (readPhone != PackageManager.PERMISSION_GRANTED) {
        if (LinphonePreferences.instance().firstTimeAskingForPermission(Manifest.permission.READ_PHONE_STATE)
                || ActivityCompat.shouldShowRequestPermissionRationale(this,
                        Manifest.permission.READ_PHONE_STATE)) {
            Log.i("[Permission] Asking for read phone state");
            permissionsList.add(Manifest.permission.READ_PHONE_STATE);
        }
    }
    if (contacts != PackageManager.PERMISSION_GRANTED) {
        if (LinphonePreferences.instance().firstTimeAskingForPermission(Manifest.permission.READ_CONTACTS)
                || ActivityCompat.shouldShowRequestPermissionRationale(this,
                        Manifest.permission.READ_CONTACTS)) {
            Log.i("[Permission] Asking for contacts");
            permissionsList.add(Manifest.permission.READ_CONTACTS);
        }
    } else {
        if (!fetchedContactsOnce) {
            ContactsManager.getInstance().enableContactsAccess();
            ContactsManager.getInstance().fetchContactsAsync();
            fetchedContactsOnce = true;
        }
    }

    if (permissionsList.size() > 0) {
        String[] permissions = new String[permissionsList.size()];
        permissions = permissionsList.toArray(permissions);
        ActivityCompat.requestPermissions(this, permissions, PERMISSIONS_READ_EXTERNAL_STORAGE_DEVICE_RINGTONE);
    }
}

From source file:com.lgallardo.qbittorrentclient.RefreshListener.java

private void checkDangerousPermissions() {

    // Check Dangerous permissions (Android 6.0+, API 23+)
    if (ContextCompat.checkSelfPermission(this,
            Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {

        // Should we show an explanation?
        if (ActivityCompat.shouldShowRequestPermissionRationale(this,
                Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
            genericOkDialog(R.string.error_permission, new DialogInterface.OnClickListener() {
                @Override/*from www  . j a  va2s  . c  o m*/
                public void onClick(DialogInterface dialog, int which) {
                    ActivityCompat.requestPermissions(MainActivity.this,
                            new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE,
                                    Manifest.permission.WRITE_EXTERNAL_STORAGE },
                            MY_PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE);
                }
            });

        } else {

            // No explanation needed, request the permission.
            ActivityCompat.requestPermissions(this,
                    new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE,
                            Manifest.permission.WRITE_EXTERNAL_STORAGE },
                    MY_PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE);

        }

    } else {

        // Permissions granted
        handleUrlTorrent();

    }

}

From source file:com.android.server.MountService.java

private void validatePermission(String perm) {
    if (mContext.checkCallingOrSelfPermission(perm) != PackageManager.PERMISSION_GRANTED) {
        throw new SecurityException(String.format("Requires %s permission", perm));
    }//from   ww  w.  ja v  a 2s .com
}

From source file:org.openhab.habdroid.ui.OpenHABMainActivity.java

public void checkDiscoveryPermissions() {
    // Check if we got all needed permissions
    PackageManager pm = getPackageManager();
    if (!(pm.checkPermission(Manifest.permission.CHANGE_WIFI_MULTICAST_STATE,
            getPackageName()) == PackageManager.PERMISSION_GRANTED)) {
        showAlertDialog(getString(R.string.erorr_no_wifi_mcast_permission));
        mServiceDiscoveryEnabled = false;
    }/*w  w w .j  a  v a  2s  . com*/
    if (!(pm.checkPermission(Manifest.permission.ACCESS_WIFI_STATE,
            getPackageName()) == PackageManager.PERMISSION_GRANTED)) {
        showAlertDialog(getString(R.string.erorr_no_wifi_state_permission));
        mServiceDiscoveryEnabled = false;
    }

}

From source file:com.lgallardo.qbittorrentclient.RefreshListener.java

@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
    switch (requestCode) {
    case MY_PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE: {
        // If request is cancelled, the result arrays are empty.
        if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {

            // Permissions granted
            handleUrlTorrent();//w  w w.java 2s. c o  m

        } else {

            // Permission denied

            // Should we show an explanation?
            if (!ActivityCompat.shouldShowRequestPermissionRationale(this,
                    Manifest.permission.WRITE_EXTERNAL_STORAGE)) {

                genericOkCancelDialog(R.string.error_grant_permission, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Intent appIntent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
                        appIntent.setData(Uri.parse("package:" + packageName));
                        startActivityForResult(appIntent, 0);
                    }
                });
            }
            return;
        }
    }
    }
}

From source file:com.gelakinetic.mtgfam.fragments.CardViewFragment.java

/**
 * Callback for when a permission is requested
 *
 * @param requestCode  The request code passed in requestPermissions(String[], int).
 * @param permissions  The requested permissions. Never null.
 * @param grantResults The grant results for the corresponding permissions which is either
 *                     android.content.pm.PackageManager.PERMISSION_GRANTED or
 *                     android.content.pm.PackageManager.PERMISSION_DENIED. Never null.
 */// w  w w.j  ava 2 s  . c  o  m
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
        @NonNull int[] grantResults) {
    switch (requestCode) {
    case FamiliarActivity.MY_PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE: {
        // If request is cancelled, the result arrays are empty.
        if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED
                && permissions[0].equals(Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
            /* Permission granted, run the task again */
            if (mAsyncTask instanceof saveCardImageTask) {
                int whereTo = ((saveCardImageTask) mAsyncTask).mWhereTo;
                mAsyncTask.cancel(true);
                mAsyncTask = new saveCardImageTask();
                ((saveCardImageTask) mAsyncTask).execute(whereTo);
            }
        } else {
            /* Permission denied */
            ToastWrapper.makeText(this.getContext(), getString(R.string.card_view_unable_to_save_image),
                    ToastWrapper.LENGTH_LONG).show();
        }
    }
    }
}

From source file:com.jaredrummler.android.device.DeviceName.java

/** Get the device name from the generated JSON files created from Google's device list. */
private static DeviceInfo getDeviceInfo(Context context, String codename, String model) {
    SharedPreferences prefs = context.getSharedPreferences(SHARED_PREF_NAME, Context.MODE_PRIVATE);
    String key = String.format("%s:%s", codename, model);
    String savedJson = prefs.getString(key, null);
    if (savedJson != null) {
        try {/*  w w  w .  ja  va2 s  .com*/
            return new DeviceInfo(new JSONObject(savedJson));
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

    // check if we have an internet connection
    int ret = context.checkCallingOrSelfPermission(Manifest.permission.ACCESS_NETWORK_STATE);
    boolean isConnectedToNetwork = false;
    if (ret == PackageManager.PERMISSION_GRANTED) {
        ConnectivityManager connMgr = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
        if (networkInfo != null && networkInfo.isConnected()) {
            isConnectedToNetwork = true;
        }
    } else {
        // assume we are connected.
        isConnectedToNetwork = true;
    }

    if (isConnectedToNetwork) {
        try {
            String url = String.format(DEVICE_JSON_URL, codename.toLowerCase(Locale.ENGLISH));
            String jsonString = downloadJson(url);
            JSONArray jsonArray = new JSONArray(jsonString);
            for (int i = 0, len = jsonArray.length(); i < len; i++) {
                JSONObject json = jsonArray.getJSONObject(i);
                DeviceInfo info = new DeviceInfo(json);
                if ((codename.equalsIgnoreCase(info.codename) && model == null)
                        || codename.equalsIgnoreCase(info.codename) && model.equalsIgnoreCase(info.model)) {
                    // Save to SharedPreferences so we don't need to make another request.
                    SharedPreferences.Editor editor = prefs.edit();
                    editor.putString(key, json.toString());
                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
                        editor.apply();
                    } else {
                        editor.commit();
                    }
                    return info;
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    if (codename.equals(Build.DEVICE) && model.equals(Build.MODEL)) {
        return new DeviceInfo(Build.MANUFACTURER, getDeviceName(), codename, model); // current device
    }

    return new DeviceInfo(null, null, codename, model); // unknown device
}

From source file:com.mdlive.sav.MDLiveProviderDetails.java

/**
 * Parses JSON response from Cigna Coach request and displays popup displaying the extracted info
 *
 * data structure://ww w  .  j a  v a  2 s. c om
 * "appointment_instructions" : {
 *      "title" : "Schedule an Appointment",
 *      "description" : "To schedule a video coaching appointment, please call:",
 *      "team_name" : "Marriott TakeCare Team",
 *      "toll_free_number" : "1-800-700-1092",
 *      "additional_info" : "Se habla Espaol"
 *  }
 *
 * @param response      HTTP response object
 */
private void handleCignaCoachSuccessResponse(String response) {
    //Fetch Data From the Services
    //Log.e("Response details", "************\n**********"+response.toString());
    JsonParser parser = new JsonParser();
    JsonObject responseObj = null, profileObj = null, providerObj = null, appointment_obj = null;
    String dialog_title = null, dialog_desc = null, dialog_teamname = null, dialog_extrainfo = null,
            phonenumber = null;
    try {
        responseObj = (JsonObject) parser.parse(response.toString());
        profileObj = responseObj.get("doctor_profile").getAsJsonObject();
        providerObj = profileObj.get("provider_details").getAsJsonObject();
        appointment_obj = providerObj.get("appointment_instructions").getAsJsonObject();

        dialog_title = appointment_obj.get("title").getAsString();
        dialog_desc = appointment_obj.get("description").getAsString();
        dialog_teamname = appointment_obj.get("team_name").getAsString();
        phonenumber = appointment_obj.get("toll_free_number").getAsString();
        dialog_extrainfo = appointment_obj.get("additional_info").getAsString();

    } catch (NullPointerException nex) {
        //Log.e("Error details", "************\n" + nex.getMessage());
        /*Toast.makeText(this, R.string.mdl_cignacoach_data_error, Toast.LENGTH_SHORT).show();*/
        Snackbar.make(findViewById(android.R.id.content), getString(R.string.mdl_cignacoach_data_error),
                Snackbar.LENGTH_SHORT).show();
        return;
    }

    final String dialog_phonenumber = phonenumber;

    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(MDLiveProviderDetails.this);
    LayoutInflater inflater = MDLiveProviderDetails.this.getLayoutInflater();
    View dialogView = inflater.inflate(R.layout.cignacoach_popup, null);
    messagesView = dialogView;
    alertDialogBuilder.setView(dialogView);

    // populate the dialog's text fields
    final TextView txt_title = (TextView) dialogView.findViewById(R.id.title);
    txt_title.setText(dialog_title);
    final TextView txt_desc = (TextView) dialogView.findViewById(R.id.desc);
    txt_desc.setText(dialog_desc);
    final TextView txt_team = (TextView) dialogView.findViewById(R.id.team);
    txt_team.setText(dialog_teamname);
    final TextView txt_phone = (TextView) dialogView.findViewById(R.id.phone);
    txt_phone.setText(getString(R.string.mdl_cignacoach_phonenumber, dialog_phonenumber));
    final TextView txt_extra = (TextView) dialogView.findViewById(R.id.extra);
    txt_extra.setText(dialog_extrainfo);

    alertDialogBuilder.setCancelable(true);

    // create alert dialog
    final AlertDialog alertDialog = alertDialogBuilder.create();
    // suppress default background to allow rounded corners to show through
    alertDialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));

    txt_phone.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (ContextCompat.checkSelfPermission(MDLiveProviderDetails.this,
                    Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {

                ActivityCompat.requestPermissions(MDLiveProviderDetails.this,
                        new String[] { android.Manifest.permission.CALL_PHONE },
                        MDLiveProviderDetails.PERMISSION_ACCESS_PHONE);
            } else {
                Intent callIntent = new Intent(Intent.ACTION_CALL);
                callIntent.setData(Uri.parse("tel:" + dialog_phonenumber));
                startActivity(callIntent);
            }
            alertDialog.dismiss();
        }
    });

    // display it
    alertDialog.show();

}

From source file:com.mdlive.sav.MDLiveProviderDetails.java

@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
    switch (requestCode) {
    case MDLiveProviderDetails.PERMISSION_ACCESS_PHONE: {
        // If request is cancelled, the result arrays are empty.
        if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
            Log.d("MDLprovider", "Phone Call permission granted.");
            Snackbar.make(messagesView, R.string.mdl_permission_call_available, Snackbar.LENGTH_SHORT).show();

        } else {//from   w w  w  .  j ava  2s.c o  m

            Log.d("MDLprovider", "Phone Call permission Not granted.");
            Snackbar.make(messagesView, R.string.mdl_permission_call_not_available, Snackbar.LENGTH_SHORT)
                    .show();
        }
        return;
    }

    // other 'case' lines to check for other
    // permissions this app might request
    }
}