Ich brauche etwas Hilfe, wie ich gerade eine Methode in einem Thread aufrufen. jetzt was ich will ist warten auf Antwortformular getData() -Methode nur für 15 Sekunden. Wenn es vor 15 Sekunden antwortet, sollte es beendet werden, andernfalls nach 15 Sekunden sollte es beendet werden. Der Code ist unten angegeben:Thread in Android
boolean networkStatus;
private Runnable runnable;
private ProgressDialog m_ProgressDialog = null;
private Runnable returnRes = new Runnable() {
@Override
public void run() {
if(networkStatus){
setData();
m_ProgressDialog.dismiss();
}
};
private void callGetdata(){
runnable = new Runnable() {
@Override
public void run() {
networkStatus = getData();
runOnUiThread(returnRes);
}
};
Thread thread = new Thread(null, runnable, "MovetoBackground");
thread.start();
m_ProgressDialog = ProgressDialog.show(this, "", getString(R.string.loadMsg), true);
}
Ich nehme an, dass getData ein blockierender Aufruf ist ... also, es sei denn, Sie haben Zugriff auf diese Methode, dann gibt es nichts, was Sie wirklich tun können, um diesen Aufruf zu beenden (außer die zugrunde liegende Netzwerkverbindung zu trennen). Was hast du in getData? – Kiril
@Lirik oder rufen Sie 'Thread.stop()' aber das ist eine baaaad Idee –