android中PC与手机通信
2014-02-26 14:08
323 查看
package com.spring.pc;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
public class USBClient {
/**
* @param args
* @throws InterruptedException
*/
public static void main(String[] args) throws InterruptedException {
try {
Runtime.getRuntime().exec("adb shell am broadcast -a NotifyServiceStop");
Thread.sleep(3000 );
Runtime.getRuntime().exec("adb forward tcp:12580 tcp:10086" );
Thread.sleep(3000 );
Runtime.getRuntime().exec("adb shell am broadcast -a NotifyServiceStart" );
Thread.sleep(3000 );
} catch (IOException e3) {
// TODO Auto-generated catch block
System.out.println("dddd");
e3.printStackTrace();
}
Socket socket = null ;
try {
InetAddress serverAddr = null ;
serverAddr = InetAddress.getByName("127.0.0.1" );
System.out.println("TCP 1111" + "C: Connecting..." );
socket = new Socket(serverAddr, 12580 );
//String str = "hi,wufenglong" ;
System.out.println("TCP 221122" + "C:RECEIVE" );
BufferedOutputStream out = new BufferedOutputStream(socket
.getOutputStream());
BufferedInputStream in = new BufferedInputStream(socket
.getInputStream());
BufferedReader br = new BufferedReader( new InputStreamReader(
System.in));
boolean flag = true ;
while (flag) {
}
} catch (UnknownHostException e1) {
System.out.println("TCP 331133" + "ERROR:" + e1.toString());
} catch (Exception e2) {
System.out.println("TCP 441144" + "ERROR:" + e2.toString());
} finally {
try {
if (socket != null ) {
socket.close();
System.out.println("socket.close()" );
}
} catch (IOException e) {
System.out.println("TCP 5555" + "ERROR:" + e.toString());
}
}
}
}
package com.spring.server;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.IBinder;
public class AndroidService extends Service {
public static final String TAG="TAG";
public static Boolean mainThreadFlag = true;
public static Boolean ioThread = true;
ServerSocket serverSocket = null;
final int SERVER_PORT = 10086;
sysBroadcastReceiver sysBR;
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
private void sysRegister() {
sysBR = new sysBroadcastReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction("android.intent.action.PACKAGE_ADDED");
filter.addDataScheme("package");
filter.addAction("android.intent.action.PACKAGE_REMOVED");
registerReceiver(sysBR, filter);
}
private class sysBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
String action = intent.getAction();
if(action.equalsIgnoreCase("android.intent.action.PACKAGE_ADDED")){
}else if(action.equalsIgnoreCase("android.intent.action.PACKAGE_REMOVED")){
}
}
}
private void doListen() {
serverSocket = null;
try {
serverSocket = new ServerSocket(SERVER_PORT);
boolean mainThreadFlag = true;
while(mainThreadFlag) {
Socket client = serverSocket.accept();
//开始读写操作
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
mainThreadFlag = false;
ioThread=false;
try {
serverSocket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
sysRegister();
new Thread() {
public void run() {
doListen();
}
}.start();
}
}
package com.spring.server;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class ServerBroadcastReceiver extends BroadcastReceiver {
private static String START_ACTION ="NotifyServiceStart";
private static String STOP_ACTION ="NotifyServiceStop";
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
String action = intent.getAction();
if(START_ACTION.equalsIgnoreCase(action)) {
context.startService(new Intent(context,AndroidService.class));
}else if(STOP_ACTION.equalsIgnoreCase(action)){
context.stopService(new Intent(context,AndroidService.class));
}
}
}
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
public class USBClient {
/**
* @param args
* @throws InterruptedException
*/
public static void main(String[] args) throws InterruptedException {
try {
Runtime.getRuntime().exec("adb shell am broadcast -a NotifyServiceStop");
Thread.sleep(3000 );
Runtime.getRuntime().exec("adb forward tcp:12580 tcp:10086" );
Thread.sleep(3000 );
Runtime.getRuntime().exec("adb shell am broadcast -a NotifyServiceStart" );
Thread.sleep(3000 );
} catch (IOException e3) {
// TODO Auto-generated catch block
System.out.println("dddd");
e3.printStackTrace();
}
Socket socket = null ;
try {
InetAddress serverAddr = null ;
serverAddr = InetAddress.getByName("127.0.0.1" );
System.out.println("TCP 1111" + "C: Connecting..." );
socket = new Socket(serverAddr, 12580 );
//String str = "hi,wufenglong" ;
System.out.println("TCP 221122" + "C:RECEIVE" );
BufferedOutputStream out = new BufferedOutputStream(socket
.getOutputStream());
BufferedInputStream in = new BufferedInputStream(socket
.getInputStream());
BufferedReader br = new BufferedReader( new InputStreamReader(
System.in));
boolean flag = true ;
while (flag) {
}
} catch (UnknownHostException e1) {
System.out.println("TCP 331133" + "ERROR:" + e1.toString());
} catch (Exception e2) {
System.out.println("TCP 441144" + "ERROR:" + e2.toString());
} finally {
try {
if (socket != null ) {
socket.close();
System.out.println("socket.close()" );
}
} catch (IOException e) {
System.out.println("TCP 5555" + "ERROR:" + e.toString());
}
}
}
}
package com.spring.server;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.IBinder;
public class AndroidService extends Service {
public static final String TAG="TAG";
public static Boolean mainThreadFlag = true;
public static Boolean ioThread = true;
ServerSocket serverSocket = null;
final int SERVER_PORT = 10086;
sysBroadcastReceiver sysBR;
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
private void sysRegister() {
sysBR = new sysBroadcastReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction("android.intent.action.PACKAGE_ADDED");
filter.addDataScheme("package");
filter.addAction("android.intent.action.PACKAGE_REMOVED");
registerReceiver(sysBR, filter);
}
private class sysBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
String action = intent.getAction();
if(action.equalsIgnoreCase("android.intent.action.PACKAGE_ADDED")){
}else if(action.equalsIgnoreCase("android.intent.action.PACKAGE_REMOVED")){
}
}
}
private void doListen() {
serverSocket = null;
try {
serverSocket = new ServerSocket(SERVER_PORT);
boolean mainThreadFlag = true;
while(mainThreadFlag) {
Socket client = serverSocket.accept();
//开始读写操作
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
mainThreadFlag = false;
ioThread=false;
try {
serverSocket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
sysRegister();
new Thread() {
public void run() {
doListen();
}
}.start();
}
}
package com.spring.server;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class ServerBroadcastReceiver extends BroadcastReceiver {
private static String START_ACTION ="NotifyServiceStart";
private static String STOP_ACTION ="NotifyServiceStop";
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
String action = intent.getAction();
if(START_ACTION.equalsIgnoreCase(action)) {
context.startService(new Intent(context,AndroidService.class));
}else if(STOP_ACTION.equalsIgnoreCase(action)){
context.stopService(new Intent(context,AndroidService.class));
}
}
}
相关文章推荐
- pc 机和android 手机之间的通信
- android中利用Socket实现手机客户端与PC端进行通信
- [转]Android手机通过socket与pc通信
- 一个很简单的Android手机和pc通信的例子
- Android手机通过socket与pc通信
- Android手机通过socket与pc通信
- Android手机与PC端进行通信
- android实现PC到手机的SOCKET通信
- 实现Android手机(服务端)与PC(客户端)实现通信
- [置顶] Android手机通过socket与pc通信
- Android手机与PC端进行通信
- Android手机与SIM卡通信的途经的研究报告
- Android BLE开发之Android手机与BLE终端通信
- Android手机客户端与服务器之间的通信、Android手机客户端通过服务器与Android手机客户端之间的通信---------阿冬专栏!!!
- PC使用wireshark直接查看android手机上tcpdump捕捉到的数据包
- Android BLE开发——Android手机与BLE终端通信初识
- PC 远程控制 android手机的方法之二 androidscreencast
- Android客户端与PC服务器实现Socket通信
- PC端获取Android手机当前屏幕截图的方法
- pc(电脑)用java通过adb操作android手机发短信及中文乱码解决