Отображение экрана требуемых настроек на Android - PullRequest
0 голосов
/ 07 февраля 2012

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

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

Ответы [ 4 ]

4 голосов
/ 08 февраля 2012

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

Попробуйте это

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setClassName("com.android.phone", "com.android.phone.NetworkSetting");
startActivity(intent);
2 голосов
/ 28 мая 2012
startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));
1 голос
/ 14 марта 2013

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

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

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

1 голос
/ 31 марта 2012

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

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