Вызов без использования интерфейса
Есть ли способ позвонить контакту без отображения пользовательского интерфейса, который позволяет пользователю инициировать вызов? Поэтому, когда я нажимаю на кнопку, номер контакта сразу набирается, как когда я иду на последние звонки в моем телефоне, кто-то нажимает, они сразу же набираются.
Код, который я использую сейчас:
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);