Pourquoi est-ce que je vois une erreur lors d'un appel de la adb shell?
-
22-09-2019 - |
Question
Cette habitude de travailler:
adb shell am start -a android.intent.action.CALL tel:1234
Cependant, maintenant je reçois cette erreur:
09-08 14:35:57.821 W/dalvikvm( 1107): threadid=3: thread exiting with uncaught exception (group=0x4001b200)
09-08 14:35:57.841 E/AndroidRuntime( 1107): Uncaught handler: thread main exiting due to uncaught exception
09-08 14:35:57.841 E/AndroidRuntime( 1107): *** EXCEPTION IN SYSTEM PROCESS. System will crash.
09-08 14:35:57.871 E/AndroidRuntime( 1107): java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.CALL dat=tel:1234 flg=0x10000000 cmp=com.android.phone/.OutgoingCallBroadcaster } from null (pid=-1, uid=-1) requires android.permission.CALL_PHONE
09-08 14:35:57.871 E/AndroidRuntime( 1107): at android.os.Parcel.readException(Parcel.java:1218)
09-08 14:35:57.871 E/AndroidRuntime( 1107): at android.os.Parcel.readException(Parcel.java:1206)
09-08 14:35:57.871 E/AndroidRuntime( 1107): at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:1149)
09-08 14:35:57.871 E/AndroidRuntime( 1107): at com.android.commands.am.Am.runStart(Am.java:202)
09-08 14:35:57.871 E/AndroidRuntime( 1107): at com.android.commands.am.Am.run(Am.java:76)
09-08 14:35:57.871 E/AndroidRuntime( 1107): at com.android.commands.am.Am.main(Am.java:54)
09-08 14:35:57.871 E/AndroidRuntime( 1107): at com.android.internal.os.RuntimeInit.finishInit(Native Method)
09-08 14:35:57.871 E/AndroidRuntime( 1107): at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:186)
09-08 14:35:57.871 E/AndroidRuntime( 1107): at dalvik.system.NativeStart.main(Native Method)
09-08 14:35:57.911 E/JavaBinder( 1107): Unknown binder error code. 0xfffffff7
09-08 14:35:57.921 E/AndroidRuntime( 1107): Crash logging skipped, no checkin service
09-08 14:35:57.921 I/Process ( 1107): Sending signal. PID: 1107 SIG: 9
Y at-il une solution de contournement pour cela?
La solution 2
J'ai enfin pu terminer ce que je voulais utiliser la commande de service adb ( http://davanum.wordpress.com/2007/12/12/android-calldial-from-the-adb-shell-command-line/ )
Autres conseils
Cela semble juste - je ne sais pas pourquoi il a travaillé avant, mais Android travaille comment il doit - la coque adb
n'a pas l'autorisation d'appeler (android.permission.CALL_PHONE
). Vous pourriez être en mesure de contourner cela en exécutant am
comme root
(si vous disposez des droits root sur votre téléphone). Exécuter juste su
avant d'exécuter la commande
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow