2009-09-08 4 views
0

Это используется для работы:Почему я вижу ошибку при совершении вызова из оболочки adb?

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 

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

ответ

1

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

+1

Запуск команды как корень (с су) не работает. – Naseer