Как сделать разрешение на вызов - PullRequest
0 голосов
/ 01 февраля 2020

Я новичок в Android ... Мне нужно разрешить вызов. Я написал пользовательское разрешение в Manifest, но когда я запускаю приложение, мне нужно go к настройкам, чтобы дать разрешение. Я хочу, чтобы это разрешение отображалось в моем приложении, как диалоговое окно с предупреждением.

Может ли кто-нибудь помочь мне сделать это? Пожалуйста

1 Ответ

0 голосов
/ 01 февраля 2020

Вставьте это в файл манифеста

<uses-permission android:name="android.permission.CALL_PHONE"/>

и вставьте этот код в свою деятельность

if (ContextCompat.checkSelfPermission(thisActivity,
        Manifest.permission.CALL_PHONE)
        != PackageManager.PERMISSION_GRANTED) {

    // Permission is not granted
    // Should we show an explanation?
    if (ActivityCompat.shouldShowRequestPermissionRationale(thisActivity,
            Manifest.permission.CALL)) {
        // Show an explanation to the user *asynchronously* -- don't block
        // this thread waiting for the user's response! After the user
        // sees the explanation, try again to request the permission.
    } else {
        // No explanation needed; request the permission
        ActivityCompat.requestPermissions(thisActivity,
                new String[]{Manifest.permission.CALL_PHONE},
                MY_PERMISSIONS_REQUEST_CALL_PHONE);

        // MY_PERMISSIONS_REQUEST_READ_CONTACTS is an
        // app-defined int constant. The callback method gets the
        // result of the request.
    }
} else {
    // Permission has already been granted
}


@Override
public void onRequestPermissionsResult(int requestCode,
        String[] permissions, int[] grantResults) {
    switch (requestCode) {
        case MY_PERMISSIONS_REQUEST_CALL_PHONE: {
            // If request is cancelled, the result arrays are empty.
            if (grantResults.length > 0
                && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                // permission was granted, yay! Do the
                // contacts-related task you need to do.
            } else {
                // permission denied, boo! Disable the
                // functionality that depends on this permission.
            }
            return;
        }

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

Подробнее о android разрешениях во время выполнения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...