Вызов без использования интерфейса

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

Код, который я использую сейчас:

try {
   Intent intent = new Intent(Intent.CALL_ACTION);
   intent.setData(Uri.parse("tel:" + number));
   startActivity(intent);
} catch (Exception e) {
   Log.e("SampleApp", "Failed to invoke call", e);
}

4 ответа

Решение

Добавить разрешение android.permission.CALL_PHONE к манифесту и изменению Intent.CALL_ACTION в Intent.ACTION_CALL

Код, который вы публикуете, не должен работать... нет CALL_ACTION, используйте вместо него ACTION_CALL.

private void call() {    
    try {    
        Intent callIntent = new Intent(Intent.ACTION_CALL);    
        callIntent.setData(Uri.parse("tel:123456789"));    
        startActivity(callIntent);    
    } catch (ActivityNotFoundException e)        {    
         Log.e("helloandroid dialing example", "Call failed", e);    
    }

AndroidManifest.xml

  <uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
Intent intent = new Intent(Intent.CALL_ACTION);

должно быть

  Intent intent = new Intent(Intent.ACTION_CALL);

Это мой полный код:

    Intent intentcall = new Intent();
    intentcall.setAction(Intent.ACTION_CALL);
    intentcall.setData(Uri.parse("tel:" + phoneNumber)); 
    startActivity(intentcall);
Другие вопросы по тегам