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Что вы показываете номер телефона, то вам не нужно иметь дело с намерениями вообще, вы можете просто использовать атрибут XMLandroid: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