adb service:
root@android:/ # service
Usage: service [-h|-?]
service list
service check SERVICE
service call SERVICE CODE [i32 INT | s16 STR] ...
Options:
i32: Write the integer INT into the send parcel.
s16: Write the UTF-16 string STR into the send parcel.
adb service list:
root@android:/ # service list
Found 74 services:
0 sip: [android.net.sip.ISipService]
1 phone: [com.android.internal.telephony.ITelephony]
2 iphonesubinfo: [com.android.internal.telephony.IPhoneSubInfo]
3 simphonebook: [com.android.internal.telephony.IIccPhoneBook]
4 isms: [com.android.internal.telephony.ISms]
5 sysoff: [android.os.ISysoffMonitor]
adb service call:
call: adb service call phone 2 s16 "10086"
receive: adb service call phone 6
ITelephony.aidl
interface ITelephony {
32
33 /**
34 * Dial a number. This doesn't place the call. It displays
35 * the Dialer screen.
36 * @param number the number to be dialed. If null, this
37 * would display the Dialer screen with no number pre-filled.
38 */
39 void dial(String number);
40
41 /**
42 * Place a call to the specified number.
43 * @param number the number to be called.
44 */
45 void call(String number);
46
47 /**
48 * If there is currently a call in progress, show the call screen.
49 * The DTMF dialpad may or may not be visible initially, depending on
50 * whether it was up when the user last exited the InCallScreen.
51 *
52 * @return true if the call screen was shown.
53 */
54 boolean showCallScreen();
55
56 /**
57 * Variation of showCallScreen() that also specifies whether the
58 * DTMF dialpad should be initially visible when the InCallScreen
59 * comes up.
60 *
61 * @param showDialpad if true, make the dialpad visible initially,
62 * otherwise hide the dialpad initially.
63 * @return true if the call screen was shown.
64 *
65 * @see showCallScreen
66 */
67 boolean showCallScreenWithDialpad(boolean showDialpad);
68 /**
70 * End call if there is a call in progress, otherwise does nothing.
71 *
72 * @return whether it hung up
73 */
74 boolean endCall();
75
76 /**
77 * Answer the currently-ringing call.
78 *
79 * If there's already a current active call, that call will be
80 * automatically put on hold. If both lines are currently in use, the
81 * current active call will be ended.
82 *
83 * TODO: provide a flag to let the caller specify what policy to use
84 * if both lines are in use. (The current behavior is hardwired to
85 * "answer incoming, end ongoing", which is how the CALL button
86 * is specced to behave.)
87 *
88 * TODO: this should be a oneway call (especially since it's called
89 * directly from the key queue thread).
90 */
91 void answerRingingCall();
92 ......