Вопрос

Это раньше работало:

adb shell am start -a android.intent.action.CALL tel:1234

Однако теперь я получаю эту ошибку:

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

Есть ли обходной путь для этого?

Это было полезно?

Решение 2

Я наконец смог завершить то, что хотел, используя команду ADB Service (http://davanum.wordpress.com/2007/12/12/android-calldial-from-the-adb-shell-command-line/)

Другие советы

Это кажется правильным - я не знаю, почему это работало раньше, но Android работает так, как это должно - adb Shell не имеет разрешения на звонок (android.permission.CALL_PHONE) Вы можете обойти это, бегая am в качестве root (Если у вас есть корневые разрешения на вашем телефоне): просто выполните su Перед выполнением команды.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top