2016-03-22 16 views
0

Ich habe versucht, einen Anruf zu tätigen, wenn ich mit diesem Code auf mobilen Android-Feld klickenAndroid Intent Aufruf

Intent callIntent = new Intent(Intent.ACTION_CALL);   
callIntent.setData(Uri.parse("tel:"+contactNo)); 
startActivity(callIntent); 

Und fügte hinzu diese in AndroidManifest.xml

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

Und schließlich bekomme ich **java.lang.SecurityException** Ausnahme .

Warum passiert das? und was ist die richtige Prozedur, um einen Anruf zu tätigen, wenn Sie auf Kontaktfeld klicken?

+0

zeigen Sie bitte Ihre Manifest. –

+0

maheshd

+0

Antwort

0

Verwendung Intent.ACTION_DIAL statt Intent.ACTION_CALL

Und action_dial keine Erlaubnis brauchen, und es wird gewählte Rufnummer auf Dialer Benutzer zeigen und dann werden die Benutzer wünschen, einen Anruf zu tätigen oder nicht. Dies wird ein besserer Ansatz sein, um dem Benutzer eine Kontrolle dessen zu geben, was er tun möchte.

hoffe das hilft dir

+0

Ja Jetzt habe ich es versucht Etwas besser als vorher Aber es zeigt in 10-stellige Handynummer wie für Ex: (123) 456-7891 – maheshd

+0

Dies kann Standardformatierung durch Dialer sein, Aber wenn Ihre Sicherheitsausnahmeprobleme mit meiner Antwort gelöst werden, dann akzeptieren Sie sie bitte. –

-2

Um Intent.ACTION_CALL zu verwenden, müssen Sie Ihrem Manifest eine Berechtigung hinzufügen.

Fügen Sie diese Erlaubnis zu Ihrem Manifest und es sollte ok

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

Ich habe es bereits hinzugefügt Aber immer noch bekomme ich java.lang.SecurityException – maheshd

+0

Wo Sie diese Berechtigung hinzufügen? –

+0

Erlaubnis sollte unter Manifest sein –