public void onCreate() {
new Thread(){
public void run(){
try {
Bundle bundle=tintent.getExtras();
if (bundle==null) {
data=1;
}else {
data=bundle.getInt("renshu"); //Activity中穿过来的int类型
}
if (data >= num2) {
num2=data;
}
System.out.println(data);
service=new DatagramSocket(PORT);
mExecutorService = Executors.newCachedThreadPool(); //创建线程池
Socket client = null;
while(num2-- >= 0){ //监听是否有客户端连接上来
mList.add(client);
Log.i("TService", "===================>llll");
byte data [] = new byte[1024];
packet =new DatagramPacket(data,data.length);
try {
service.receive(packet);
msg=new String(packet.getData(),packet.getOffset(),packet.getLength());
Log.i("TService", "=============>ooooo");
Log.i("TService", msg);
mExecutorService.execute(new Service());
} catch (Exception e) {
e.printStackTrace();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
Log.i("TService", "建立");
super.onCreate();
}
@Override
public void onStart(Intent intent, int startId) {
tintent=intent;
Log.i("TService", "启动");
handler.postDelayed(runnable, 1000);
super.onStart(intent, startId);
}
那个data是从其它Activity读取Editt后传过来的 (传过来的值是经过onstart方法下的tintent变量传递到Thread里的)但是当这个service启动后再传值 无法收到传过来的值 据说好像在那个while循环里面怎么处理下就可以收到 有没有大神指导该怎么处理啊!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。