线程的监听 广播接收

来源:互联网 发布:淘宝好评50字以上 编辑:程序博客网 时间:2024/05/01 23:50

protected void onCreate(Bundle savedInstanceState)
{

IntentFilter filter = new IntentFilter();
filter.addAction("testResult");
this.registerReceiver(recv, filter);

}

private BroadcastReceiver recv = new BroadcastReceiver() {//监听对象


@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
String action = intent.getAction();
if (action.equals("testResult")) {
int mark = intent.getIntExtra("mark", -1);
System.out.println(mark+"mark");
boolean res = intent.getBooleanExtra("data", false);
switch (mark) {
case 1:
if (res) {
System.out.println("111111");
loginButton();
}
else {
//为访问到服务器
Toast.makeText(Login.this, "没有连接服务器", 1).show();
}
break;
case 2:
if (res) {
RegistButton();
}
else {
//为访问到服务器
Toast.makeText(Login.this, "没有连接服务器", 1).show();
}
break;
default:
break;
}


}
}

};



//被监听的线程

public   void ConnectToService(int mark) {

this.mark = mark;

new Thread() {
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("调用服务器加载数据1");
test();

}

}.start();


}
public  void test() {
try {
HttpClient client = new DefaultHttpClient();
HttpPost postjson = new HttpPost(ApiUrl.loginUrl);
ArrayList<BasicNameValuePair> nvps = new ArrayList<BasicNameValuePair>();
nvps.add(new BasicNameValuePair("selectMethod", "getRecommendItem"));
UrlEncodedFormEntity entityIn = new UrlEncodedFormEntity(nvps,"UTF8");
postjson.setEntity(entityIn);
HttpResponse response = client.execute(postjson);
HttpEntity entityOut = response.getEntity();
boolean res = false;
if (entityOut != null) {
                res = true;
                System.out.println("lwsss");
}
Intent intent = new Intent();
intent.setAction("testResult");
intent.putExtra("data", res);
intent.putExtra("mark", mark);
context.sendBroadcast(intent);

} catch (Exception e) {
Intent intent = new Intent();
intent.setAction("testResult");
intent.putExtra("data", false);
intent.putExtra("mark", mark);
context.sendBroadcast(intent);
}
}


0 0
原创粉丝点击