Требуется ли разрешение при использовании Intent для вызова телефона? - PullRequest
8 голосов
/ 07 ноября 2011

В одном из моих приложений я использую следующий код для телефонного звонка:

Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse(...)); 
startActivity(intent);

В документах говорится, что для этого мне нужно следующее разрешение Manifest:

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

Это действительно требуется?Я не понимаю разницу между телефоном и функцией камеры.При использовании намерения телефона мне нужно разрешение, но мне не нужно разрешение для намерения камеры:

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
...
startActivityForResult(intent, 1);

Есть ли список аппаратных функций, для которых требуется разрешение, если оно было запущено с помощью намеренияа те, которые этого не делают?

Ответы [ 3 ]

21 голосов
/ 03 ноября 2015

На самом деле, если вы хотите просто открыть номеронабиратель с определенным номером телефона, без прямого звонка (требуется подтверждение пользователя), вы можете сделать это без какого-либо разрешения:

startActivity( new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + PhoneNumber)));
12 голосов
/ 08 ноября 2011

Это действительно требуется?

Да.

Я не понимаю разницы между функцией телефона и камеры.

Телефонные звонки могут стоить людям денег. Следовательно, если вы непосредственно делаете телефонный звонок (вместо ACTION_DIAL, чтобы просто ввести номер в номеронабиратель), Android хочет, чтобы пользователь заранее согласился разрешить это.

Съемка с помощью камеры, как правило, напрямую не стоит пользователям никаких денег.

Есть ли список аппаратных функций, для которых требуется разрешение, если они уволены с помощью намерения, и тех, которые этого не делают?

Не совсем.

1 голос
/ 07 ноября 2011

Когда вы отправляете запрос на камеру, он просто открывает приложение, требующее взаимодействия с пользователем, прежде чем он сможет что-либо сделать.

Телефонные звонки, откройте приложение с уже введенным номером телефона, так что вам просто нужно нажать кнопку.

Существует гораздо более высокий риск того, что вы случайно позвоните кому-нибудь, чем если бы вы случайно сделали снимок (который вы могли бы просто удалить, если сделали случайно).

...