Como faço para que o discador abra com o número de telefone exibido?
4 answers
1) é necessário iniciar o dialer através de código, sem interação com o usuário.
Tu precisas Action_Dial
,
Utilize abaixo do Código ele irá abrir o mostrador com o número especificado
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:0123456789"));
startActivity(intent);
É necessário o prefixo' tel: ', sendo lançada a seguinte excepção:: Java.idioma.Stateexcepção ilegal: não foi possível executar o método da actividade.
Action_Dial não necessita de nenhum permissao.
Se quiser iniciar a chamada directamente sem a interacção do utilizador , pode usar a acção Intent.ACTION_CALL
. Neste caso, você deve adicionar a seguinte permissão em seu AndroidManifest.xml:
<uses-permission android:name="android.permission.CALL_PHONE" />
2) é necessário que o utilizador carregue no texto do Phone_Number e inicie a chamada.
android:autoLink="phone"
Tem de usar a janela de texto com a propriedade abaixo.
Android: autoLink="phone" android: linksClickable= "true" a textView property
Não sabes. precisa usar a intenção ou obter permissão por este caminho.Muito tarde na resposta, mas se você tem um TextView
que você está mostrando o número de telefone e, em seguida, você não precisa lidar com as tentativas, você só pode usar o atributo XML android:autoLink="phone"
e o sistema operacional irá iniciar automaticamente uma ACTION_DIAL
Intenção.
Como @ashishduh mencionado acima, o uso de android:autoLink="phone
também é uma boa solução. Mas esta opção vem com uma desvantagem, não funciona com todos os números de telefone comprimentos. Por exemplo, um número de telefone de 11 números não vai funcionar com esta opção. A solução é prefixar seus números de telefone com o código do país.
Exemplo:
08034448845
não vai funcionar.
Mas +2348034448845
vai
<TextView
android:id="@+id/phoneNumber"
android:autoLink="phone"
android:linksClickable="true"
android:text="+91 22 2222 2222"
/>
É assim que pode abrir a legenda de texto atribuído ao número na marcação directamente.