java从Runnable中调用新活动
我在andoid中需要处理一个流:
假设我在活动1中,然后有一个API说https://status.com/key,它告诉我是需要导航到活动2还是停留在活动1本身
因此,在Activity-1中,我将HttpRequest调用放在可运行线程中,并在每秒钟之后持续ping该API以了解其响应。当我得到回答“是”时,我就导航到活动2(谷歌地图活动)
但我注意到的是,即使在导航到Activity-2之后,Activity-1中的可运行线程仍在持续运行,因此Activity-2(Google maps活动)不断以不希望的方式加载。如何停止活动1中的可运行线程:
- Tried Thread.stop() // Not working
- System.exit(0) //is a bad option
final Runnable r = new Runnable() {
public void run() {
String myUrl="https://app.herokuapp.com/users/userredirection-pickup/"+ridetrackingno;
Log.d("URL",myUrl);
HttpGetRequest getRequest = new HttpGetRequest();
try{
String result = getRequest.execute(myUrl).get();
JSONArray j=new JSONArray(result);
JSONObject jo= j.getJSONObject(0);
String r=jo.getString("status");
if(r.equals("yes")){
Intent show = new Intent (getApplicationContext(), Riding.class);
show.putExtra("Username",username);
show.putExtra("Phone",phone);
startActivity(show);
}
} catch(Exception e)
{
e.printStackTrace();
}
handler.postDelayed(this, 2000);
}
};
handler.postDelayed(r, 2000);
请帮忙。谢谢
# 1 楼答案
试试这个。也许它会起作用
# 2 楼答案
我刚才说的是