不知道前台JAVA程序怎么通过SOCKET跟守护进程通信,试了老是出问题。 W/System.err( 410): java.io.IOException: No such file or directory W/System.err( 410): at android.net.LocalSocketImpl.connectLocal(Native Method) W/System.err( 410): at android.net.LocalSocketImpl.connect(LocalSocketImpl.java:238) W/System.err( 410): at android.net.LocalSocket.connect(LocalSocket.java:95) W/System.err( 410): at com.example.MAP100SerialClient.MAP100SerialClient.onClick(MAP100SerialClient.java:132) W/System.err( 410): at android.view.View.performClick(View.java:2344) W/System.err( 410): at android.view.View.onTouchEvent(View.java:4133) W/System.err( 410): at android.widget.TextView.onTouchEvent(TextView.java:6510) W/System.err( 410): at android.view.View.dispatchTouchEvent(View.java:3672) W/System.err( 410): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882) W/System.err( 410): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882) W/System.err( 410): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882) W/System.err( 410): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882) W/System.err( 410): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1712) W/System.err( 410): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1202) W/System.err( 410): at android.app.Activity.dispatchTouchEvent(Activity.java:1987) W/System.err( 410): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1696) W/System.err( 410): at android.view.ViewRoot.handleMessage(ViewRoot.java:1658) W/System.err( 410): at android.os.Handler.dispatchMessage(Handler.java:99) W/System.err( 410): at android.os.Looper.loop(Looper.java:123) W/System.err( 410): at android.app.ActivityThread.main(ActivityThread.java:4203) W/System.err( 410): at java.lang.reflect.Method.invokeNative(Native Method) W/System.err( 410): at java.lang.reflect.Method.invoke(Method.java:521) W/System.err( 410): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791) W/System.err( 410): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549) W/System.err( 410): at dalvik.system.NativeStart.main(Native Method)
daemon程序,还不算是android的一部分,算作是linux的吧你这样做应该是可以的:Android service <----socket---> daemonandroid service中使用content provider就可以了。
就怕Android service 在系统内存不足时也被KILL掉了,真正做SOCKET通信但老是成功不了,不知道那个地方没设置对。
其实在HARDWARE/RIL/LIBRIL/RIL.CPP进行了下面的操作
s_fdListen = android_get_control_socket(“server”);
ret = listen(s_fdListen, n);
s_fdCommand = accept(s_fdListen, (sockaddr *) &peeraddr, &socklen);
W/System.err( 410): java.io.IOException: No such file or directory
W/System.err( 410): at android.net.LocalSocketImpl.connectLocal(Native Method)
W/System.err( 410): at android.net.LocalSocketImpl.connect(LocalSocketImpl.java:238)
W/System.err( 410): at android.net.LocalSocket.connect(LocalSocket.java:95)
W/System.err( 410): at com.example.MAP100SerialClient.MAP100SerialClient.onClick(MAP100SerialClient.java:132)
W/System.err( 410): at android.view.View.performClick(View.java:2344)
W/System.err( 410): at android.view.View.onTouchEvent(View.java:4133)
W/System.err( 410): at android.widget.TextView.onTouchEvent(TextView.java:6510)
W/System.err( 410): at android.view.View.dispatchTouchEvent(View.java:3672)
W/System.err( 410): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882)
W/System.err( 410): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882)
W/System.err( 410): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882)
W/System.err( 410): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882)
W/System.err( 410): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1712)
W/System.err( 410): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1202)
W/System.err( 410): at android.app.Activity.dispatchTouchEvent(Activity.java:1987)
W/System.err( 410): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1696)
W/System.err( 410): at android.view.ViewRoot.handleMessage(ViewRoot.java:1658)
W/System.err( 410): at android.os.Handler.dispatchMessage(Handler.java:99)
W/System.err( 410): at android.os.Looper.loop(Looper.java:123)
W/System.err( 410): at android.app.ActivityThread.main(ActivityThread.java:4203)
W/System.err( 410): at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err( 410): at java.lang.reflect.Method.invoke(Method.java:521)
W/System.err( 410): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
W/System.err( 410): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
W/System.err( 410): at dalvik.system.NativeStart.main(Native Method)
就怕Android service 在系统内存不足时也被KILL掉了,真正做SOCKET通信但老是成功不了,不知道那个地方没设置对。
觉得应用层跟daemon守护进程不可能通信就这么简单!!!肯定还有什么地方没想到!是ADB吗?