Как открыть номеронабиратель с отображаемым номером телефона?



мне не нужно звонить по номеру телефона, мне просто нужно, чтобы номеронабиратель открылся с уже отображенным номером телефона. Что Intent должен ли я использовать для достижения этой цели?

660   4  

4 ответов:

два способа его достижения.

1) нужно запустить номеронабиратель через код, без взаимодействия с пользователем.

вам нужно Action_Dial,

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

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

требуется префикс 'tel:', в противном случае будет выдано следующее исключение: java.ленг.IllegalStateException: не удалось выполнить метод работы.

Action_Dial не требует никакого разрешения.

если вы хотите, чтобы инициировать вызов непосредственно без взаимодействия с пользователем , вы можете использовать действие Intent.ACTION_CALL. В этом случае, вы должны добавить следующие разрешения в AndroidManifest.XML-код:

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

2) Нужно, чтобы пользователь нажал на строку Phone_Number и начал вызов.

android:autoLink="phone" 

вы должны использовать TextView С ниже свойства.

android: autoLink= " телефон" android: linksClickable= "true" свойство textView

вам не нужно использовать намерение или получить разрешение таким образом.

довольно поздно на ответ, но если у вас есть TextView Что вы показываете номер телефона, то вам не нужно иметь дело с намерениями вообще, вы можете просто использовать атрибут XML android:autoLink="phone" и ОС автоматически инициирует ACTION_DIAL намерениях.

как @ashishduh упоминалось выше, используя android:autoLink="phone также является хорошим решением. Но этот вариант имеет один недостаток, он не работает со всеми длинами телефонных номеров. Например, номер телефона из 11 цифр не будет работать с этой опцией. Решение является префикс номера телефона с кодом страны.

пример:

08034448845 не работает

но +2348034448845 будет

<TextView
 android:id="@+id/phoneNumber"
 android:autoLink="phone"
 android:linksClickable="true"
 android:text="+91 22 2222 2222"
 />

Это, как вы можете открыть EditText label присвоенный номер на дозвона непосредственно.

Comments

    Ничего не найдено.