4

私のアプリケーションには 1 つのメニューがあり、インターネット接続でしか開くことができません。いくつかのソース コードを配置しようとしましたが、うまくいきません...誰か助けてくれませんか..? これは私のソースコードです:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    String[] listpeta = new String[] { "TMII","Anjungan", "Museum", "Tempat Ibadah","Taman","Wahana Rekreasi"};
    //Menset nilai array ke dalam list adapater sehingga data pada array akan dimunculkan dalam list
    this.setListAdapter(new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_1, listpeta));
}

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);
    //Menangkap nilai text yang dklik
    Object o = this.getListAdapter().getItem(position);
    final String keyword = o.toString();
    //Menampilkan list peta.


        final ProgressDialog myProgressDialog = ProgressDialog.show(ListPeta.this, "Loading", "Mohon Tunggu...!!!", true);
        new Thread() { 
              public void run() { 
                   try{
                       Thread.sleep(1000); 
                       if(keyword=="TMII"){petapa="tmii";}
                       else if(keyword=="Anjungan"){petapa="anjungan";}
                       else if(keyword=="Museum"){petapa="museum";} 
                       else if(keyword=="Tempat Ibadah"){petapa="tempatibadah";}
                       else if(keyword=="Taman"){petapa="taman";}
                       else if(keyword=="Wahana Rekreasi"){petapa="rekreasi";}

                       Intent slide2 = new Intent(ListPeta.this, FormPetaTmiiOnline.class);
                       startActivity(slide2);
                   } catch (Exception e) {  } 
                   // Dismiss the Dialog
                   myProgressDialog.dismiss(); 
              } 
         }.start();

}

誰かが私を助けてソースコードをくれたら..ソースコードのどこに置くべきか教えてください... :)

4

2 に答える 2

1

次のコードを使用して接続を確認します。

final ConnectivityManager conMgr =  (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
final NetworkInfo activeNetwork = conMgr.getActiveNetworkInfo();
if (activeNetwork != null && activeNetwork.isConnected()) {
    //being here means you are connected
} else {
    //being here means you are not connected
} 

また、これをマニフェストに含めます。

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

したがって、ブール値を接続に応じて true または false に設定し、それを使用してメニューを開くかどうかを決定できます。

于 2012-07-30T00:23:02.027 に答える
0

をチェックするには、このコードを試してくださいinternet connection

public boolean isOnline() {
    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo netInfo = cm.getActiveNetworkInfo();
    if (netInfo != null && netInfo.isConnectedOrConnecting()) {
        return true;
    }
             // your code here(Toast)
    return false;

}

これpermissionをマニフェストに含めます。

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

の前にこのメソッドを呼び出しますsetContentView

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    isOnline();
    setContentView(R.layout.main);
于 2012-07-30T03:57:10.860 に答える