2015-10-18 4 views
1

Можно ли позвонить по номеру телефона без использования каких-либо разрешений в manifest.xml?телефонный звонок с использованием намерения в android

Я usign ниже код, но хотите использовать разрешение вызова:

  Intent intent = new Intent(Intent.ACTION_DIAL); 
      intent.setData(Uri.parse("tel:" + "0" + getItem(pos).getMobile())); 
      context.startActivity(intent); 

ответ

3

Вы можете открыть номеронабиратель с номером телефона уже напечатанного в нем -

Intent i = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + "0" + getItem(pos).getMobile())); 
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(i); 

Но для вы можете позвонить по телефону прямо с одного нажатия на кнопку или что-то, вы должны добавить разрешение, потому что если вы это делаете, это означает, что ваше приложение делает вызов, для которого ему требуется разрешение от операционной системы Android.

2

Фактически, Intent.ACTION_DIAL или Intent.VIEW не нуждается ни в каких разрешениях, оно открывает только приложение дилера. С другой стороны, Intent.ACTION_CALL вызовет напрямую, и ему необходимо разрешение на вызов.

0

смс

 Intent smsIntent = new Intent(Intent.ACTION_VIEW); 
smsIntent.setType("vnd.android-dir/mms-sms"); 
smsIntent.putExtra("address", "12125551212"); 
smsIntent.putExtra("sms_body","Body of Message"); 
startActivity(smsIntent); 

вызов

Intent callIntent = new Intent(Intent.ACTION_CALL); 
    callIntent.setData(Uri.parse("tel:" + phone)); 
    startActivity(callIntent); 

разрешения

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