Android: Для звонка и отправки смс Намерения нужно добавить разрешение? - PullRequest
0 голосов
/ 11 сентября 2018

Я работаю над вызовом и отправкой SMS, пока пользователь нажимает кнопку вызова и SMS.

Вопрос:

1) Нужно добавить разрешение в AndroidManifest.xml файле?

2) Нужно также написать код для разрешения времени выполнения?

Я пишу код для намерение вызова ниже:

 Intent intent = new Intent(Intent.ACTION_DIAL);
                intent.setData(Uri.parse("tel:" + driverMobileNo));
                startActivity(intent);

СМС-намерение

Intent it = new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:"+ driverMobileNo));
            it.putExtra("sms_body", "The SMS text");
            startActivity(it);

Над кодом работает нормально (проверено в версии Oreo 8.0) без добавления разрешения в AndroidManifest.xml, а также времени выполнения.

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

Для смс можно написать

Intent intent = new Intent(Intent.ACTION_SEND);
intent.setData(Uri.parse("smsto:"+phoneNumber)); // This ensures only SMS apps respond
intent.putExtra("sms_body", message);
startActivity(intent);

и для звонка вы можете использовать это намерение

Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:0123456789"));
startActivity(intent); 
0 голосов
/ 11 сентября 2018

Вы можете использовать этот код без разрешения:

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("sms:" + phoneNumber));     
intent.putExtra("sms_body", message); 
startActivity(intent);

Для звонка вы можете использовать это без какого-либо разрешения:

Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:phoneNumber"))
startActivity(intent);

Вам не нужно никакого разрешения, так как пользователь действительно выполняет вызов, вы просто перенаправляете его в приложение телефона. Если вы хотите сделать телефонный звонок напрямую через ваше приложение, вы должны использовать ACTION_CALL вместо ACTION_DIAL и добавить разрешение:

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

Надеюсь, это поможет!

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