2012-07-30 2 views
4

есть одно меню в моем приложении, только можно открыть с подключением к Интернету, я постараюсь добавить код источника, но он не работает ... может кто-нибудь мне помочь. .? это мой исходный код:как проверить мой доступ в Интернет по моему приложению android

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(); 

} 

, если есть кто-то помочь мне и дать мне исходный код .. скажите мне, где я должен поставить его на мой исходный код ... :)

ответ

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 в зависимости от подключения и использовать его, чтобы определить, следует ли открывать меню или нет.

+0

я стараюсь использовать это .. но я до сих пор не знаю, где я должен поставить его – Menma

+0

я написал в своем ответе. Разве вы не читали последнее предложение? – Erol

+0

Я читал ... я имею в виду, где я должен поместить этот исходный код в свой исходный код? – Menma

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> 

и называем это Metod перед setContentView.

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    isOnline(); 
    setContentView(R.layout.main); 
Смежные вопросы