2016-06-05 8 views
1

У меня есть заставка, и она работает отлично, но теперь я хочу запустить функцию для проверки интернета и решить, какую деятельность отправить пользователю.Проверка интернета во время экрана Splash

public class Splash extends Activity { 

    private static int tempo_splash = 1000;  
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.splash); 
       getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); // Para o layout preencher toda tela do cel (remover a barra de tit.) 

     new Timer().schedule(new TimerTask() {  

      public void run() { 
       finish(); 

       Intent intent = new Intent(); 
       intent.setClass(Splash.this, MainActivity.class); //Chamando a classe splash e a principal (main) 
       startActivity(intent); 
      } 
     }, 2000);  

    } 
} 

И это мой класс для checkInternet:

public class MyConnectivityChecker extends AppCompatActivity {  

    public void verificaInternet() { 
     ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 

     if (cm.getActiveNetworkInfo()!= null 
       && cm.getActiveNetworkInfo().isAvailable() 
       && cm.getActiveNetworkInfo().isConnected()) { 

      Intent i = new Intent(this, MainActivity.class); 

     } else { 

      Intent i = new Intent(this, CheckInternet.class); 
      startActivity(i); 

     } 
    }  
} 
+0

Почему бы вам просто не слить 'MyConnectivityChecker' в' Splash'? – tynn

+0

Я попытался, но не получил успеха :( –

+0

@KevinJhon, пожалуйста, взгляните на мой отредактированный ответ. – k0sh

ответ

1

ваш code может выглядеть следующим образом

private Class verificaInternet() { 
    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 

    if (cm.getActiveNetworkInfo()!= null 
      && cm.getActiveNetworkInfo().isAvailable() 
      && cm.getActiveNetworkInfo().isConnected()) { 
     return MainActivity.class; 
    } else { 
     return CheckInternet.class; 
    } 
} 

добавить выше метода в вашем splashActivity и ваш timer должен выглядеть следующим образом

new Timer().schedule(new TimerTask() { 
     @Override public void run() { 
      Intent intent = new Intent(); 
      intent.setClass(Splash.this, verificaInternet()); //Chamando a classe splash e a principal (main) 
      startActivity(intent); 
      finish();//this should be after starting intent 
     } 
    }, 2000); 
+0

Метод verificaInternet() result error : «Невозможно разрешить метод» verificaInternet() ' –

 Смежные вопросы

  • Нет связанных вопросов^_^