3

Androidデバイスがスプラッシュでインターネットに接続されているか切断されているかを検出する必要があります...接続がない場合、アプリケーションは開きません..何度も試しましたが..失敗しました..これが私のスプラッシュのソースですコード:

private Handler splashHandler = new Handler();
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Runnable r = new Runnable(){
        public void run(){
            Intent brain = new Intent(Splash.this, MainMenu.class);
            startActivity(brain);
            finish();
        }
    };
    setContentView(R.layout.splashscreen);
    splashHandler.postDelayed(r, 2000);
}

public void onResume(Bundle savedInstanceState){
    super.onResume();
}

}

誰かが私を助けて、私にソースコードを教えてくれたら..私がそれをどこに置かなければならないか教えてください..

4

2 に答える 2

3

このSO投稿から:Androidで利用可能なインターネット接続があるかどうかを検出します

コードは次のようになります。

private Handler splashHandler = new Handler();
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Runnable r = new Runnable(){
        public void run(){
            Intent brain = new Intent(Splash.this, MainMenu.class);
            startActivity(brain);
            finish();
        }
    };
    setContentView(R.layout.splashscreen);
    if(isNetworkAvailable())
        splashHandler.postDelayed(r, 2000);
    else {
        //Notify user they aren't connected
        Toast.makeText(getApplicationContext(), "You aren't connected to the internet.", Toast.LENGTH_SHORT).show();
        //close the app
        finish();
    }
}

public void onResume(Bundle savedInstanceState){
    super.onResume();
}

private boolean isNetworkAvailable() {
    ConnectivityManager connectivityManager 
      = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
    return activeNetworkInfo != null;
}

上記のリンクに記載されているように、次のものも追加する必要があります。

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

あなたのAndroidManifest.xmlファイルに...

于 2012-07-25T22:40:07.190 に答える
0

これを見てください。これはBroadcastReciverwithアクションConnectivityManager.CONNECTIVITY_ACTION.であり、ネットワーク接続に変更が発生するたびにシステムに許可します。

お役に立てば幸いです。

于 2012-07-25T22:41:33.573 に答える