在Android上显示所需的设置屏幕

时间:2012-02-07 19:21:43

标签: android android-intent android-activity

在我的应用程序中,某些任务需要某种类型的网络连接(无线或蜂窝都可以)。在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 个答案:

答案 0 :(得分:4)

老实说,如果他们没有保险,他们唯一的选择就是使用wifi。

试试这个

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

答案 1 :(得分:2)

startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));

答案 2 :(得分: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);

答案 3 :(得分:1)

我知道这已经晚了但可能对某人有帮助。实现这一目标的最佳方法是:

  • 用于显示常规连接设置

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

  • 用于显示移动网络连接设置

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

  • 用于显示Wifi设置

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