Intent.ACTION_CALL problema (SecurityException)
He utilizado esta intención de marcar un no que está escrito en el setdatafield de la Intención Pero cuando ejecuto la aplicación y haga clic en el botón de llamada donde pongo esta intención tengo este error en LogCat
06-14 14:08:10.137: ERROR/AndroidRuntime(2898): java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.CALL dat=tel:2125551212 cmp=com.android.phone/.OutgoingCallBroadcaster } from ProcessRecord{43edbe18 2898:com.collabera.labs.sai/10102} (pid=2898, uid=10102) requires android.permission.CALL_PHONE
La intención Intent.ACTION_DIAL (en lugar de Intent.ACTION_CALL) no necesita un permiso. Sólo trae el dialer para que el usuario pueda decidir si quiere o no llamar, lo que es una mejor experiencia de usuario en la mayoría de los casos de todos modos.
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:03000000000")); startActivity(intent);
Añadir permiso
<uses-sdk android:minSdkVersion="7" /> <uses-permission android:name="android.permission.CALL_PHONE"/>
Hay una pista en el error: requires android.permission.CALL_PHONE
Necesitas declarar el permiso android.permission.CALL_PHONE
en tu manifiesto:
<manifest android:installLocation="preferExternal" package="yourpackage" xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1"> <uses-permission android:name="android.permission.CALL_PHONE"></uses-permission> . . . </manifest>
Vea aquí para más información.
También puedes probar
<uses-permission android:name="android.intent.action.CALL_PRIVILEGED"></uses-permission>
Se deprecia constante, pero ayuda a iniciar una llamada al instante sin la apertura de la actividad del marcador
Añada permiso en su manifest.xml
como si
<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
Más información sobre Permissions
aquí