在我的主要活动中,我创建了一个对象internetCheck。我的班级checkInternet:
public class internetCheck {
private Timer myTimer;
public void launchTime(final Context context){
myTimer = new Timer();
Handler handler = new Handler(context.getMainLooper());
myTimer.schedule(new TimerTask() {
boolean conn = false;
@Override
public void run() {
if(!check(context)){
if(!conn) {
Intent i = new Intent(MainActivity.activity, MainActivity.class);
MainActivity.activity.startActivity(i);
conn=true;
System.out.println("déconnection" + conn);
}
else{
System.out.println("test");
}
}
else{
conn = false;
System.out.println("déconnection" + conn);
}
}
}, 0, 1000);
}
public boolean check(Context context){
ConnectivityManager cm =
(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if(null != netInfo){
if(netInfo.getType() == ConnectivityManager.TYPE_WIFI){
return true;
}
if(netInfo.getType() == ConnectivityManager.TYPE_MOBILE){
return true;
}
}
return false;
}
}
创建后,我调用launchTime方法创建一个计时器。互联网停播时,我想回到我的MainActivity。一切正常,但我不能回到MainActivity。我不知道为什么我的startActivity(i)不起作用
感谢您的帮助
答案 0 :(得分:1)
您需要通过可用的上下文启动活动:
Intent i = new Intent(ctx, MainActivity.class);
ctx.startActivity(i);