android 线程的开启和停止(借鉴java的技术)

在onclick()点击事件中的

// 上传地理位置

case R.id.person_up_locat:
System.out.println("====输出了。。

。。

====");
// startActivity(new Intent(PersonCenterActivity.this,
// AddedToolsActivity.class));
// 获取地理位置--经纬度和坐标
String addrStr = ShareData.getShareStringData("addrStr");
String latit = ShareData.getShareStringData("latit");
String longit = ShareData.getShareStringData("longit");
String urlLoca = HttpUrl.HttpLIPEI
+ "/yqw/w/c/post?app=survey&mdl=web&act=getSurveyLonLatList"
+ "&type=json&token=1";
// + "&col.surveyId="+ surveyId
urlLo = urlLoca + "&col.lon=" + longit + "&col.lat=" + latit
+ "&col.addressinfo=" + addrStr;
System.out.println("====输出了。。

。。==2==");
// final String LocationLLA = HttpService.postParamAndFile(urlLo);
// mtime.schedule(new RemindTask(), 100, 3000);
final Timer mtime = new Timer();
// TimerTask mtask;
mtime.schedule(new TimerTask() {
@Override
public void run() {
try {
System.out.println("=FLAG=0=" + FLAG);
// mtime.schedule(mtask, 100, 1000);//
// 0.1s后运行task,经过1s再次运行

System.out.println("上传地理位置-------11--");

//使用do,while的方法。do---開始启动线程,上传数据

do {

LocationLLA = HttpService.postParamAndFile(urlLo);
System.out.println("上传地理位置-------33--" + urlLo
+ "===" + LocationLLA);

} while (FLAG == 1);

//while (FLAG == 1);---停止关闭线程,关闭数据

mtime.cancel();
System.out.println("不上传地理位置-------22--");


} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}, 100, 3000);



System.out.println("=FLAG=1=" + FLAG);
if (FLAG == 0) {
first_visib.setVisibility(View.GONE);
first_gone.setVisibility(View.VISIBLE);
FLAG = 1;
System.out.println("===00====0======");
} else if (FLAG == 1) {
System.out.println("===0===2======");
first_visib.setVisibility(View.VISIBLE);
first_gone.setVisibility(View.GONE);
FLAG = 0;
System.out.println("不上传地理位置-----00--22--");
}
System.out.println("=FLAG=2=" + FLAG);
break;
default:
break;
原文地址:https://www.cnblogs.com/yangykaifa/p/6903347.html