2012-02-07 2 views
0

В моем приложении определенные задачи требуют какого-либо сетевого подключения (как Wi-Fi или сотовая связь). В MyActivity, у меня есть чек на onResume(), чтобы проверить состояние сети, и если нет никакой связи, я хотел бы, чтобы отобразить экран настройки сети:Отображение экрана желаемых настроек на Android

private void showConnectionSettings() { 
    Intent intent = new Intent(Settings.ACTION_WIRELESS_SETTINGS); 
    ComponentName cn = new ComponentName("com.android.phone", "com.android.phone.Settings"); 

    intent.setComponent(cn); 
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

    this.getBaseContext().startActivity(intent); 
} 

Но это приносит мне экран мобильной сети, когда я хотел бы показать экран Wireless and Network Settings, где пользователь может выбрать тип своего соединения.

+0

"если нет связи, * Я хочу * отобразить экран настройки сети"? В противном случае я не знаю, что вам нужно. – Gangnus

+0

Возможный дубликат [Android - Открыть настройки из приложения] (http://stackoverflow.com/questions/7454416/android-open-settings-from-app) –

ответ

1

Я знаю, что это поздно, но может кому-то помочь. Лучший способ добиться этого:

  • для отображения общих параметров подключения,

    startActivityForResult(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS), 0);

  • для показа настройки подключения к сети мобильной связи

    startActivityForResult(new Intent(android.provider.Settings.ACTION_DATA_ROAMING_SETTINGS), 0);

  • для показа Wi-Fi настройки

    startActivityForResult(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS), 0);

4

Всем честно, если у них нет покрытия, их единственным вариантом является использование Wi-Fi.

Попробуйте

Intent intent = new Intent(Intent.ACTION_MAIN); 
intent.setClassName("com.android.phone", "com.android.phone.NetworkSetting"); 
startActivity(intent); 
+0

Это просто показывает диалог «поиск». Это больше похоже на отображение правильного экрана настроек. –

1

Этот код работает отлично для показа беспроводные и сетевые настройки.

Intent intent = new Intent(Intent.ACTION_MAIN); 
intent.setComponent(new ComponentName("com.android.settings","com.android.settings.WirelessSettings")); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent); 
Смежные вопросы