如何通过onclick打开配置便携式Wi-Fi热点设置?

时间:2013-12-21 14:18:40

标签: android settings onclicklistener buttonclick

如何打开以下目录:设置/无线和网络/绑定和便携式热点/便携式Wi-Fi热点设置/配置便携式Wi-Fi热点/点击按钮? 我想使用onClick方法而不是id方法来实现这一点。 下面是我的代码

<RadioButton
        android:onClick="togglewifi"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:checked="true"
        android:text="Toggle Wifi" />


public void togglewifi(View view) { 
    Intent intent = new Intent(             );
    startActivity(intent);
}

4 个答案:

答案 0 :(得分:12)

此代码适用于4.2.2

    final Intent intent = new Intent(Intent.ACTION_MAIN, null);
    intent.addCategory(Intent.CATEGORY_LAUNCHER);
    final ComponentName cn = new ComponentName("com.android.settings", "com.android.settings.TetherSettings");
    intent.setComponent(cn);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity( intent);

答案 1 :(得分:4)

如果有人像我一样登陆这里,在Android 8上,我用它来打开设置热点页面本身。

public static final String SETTINGS_PACKAGE = "com.android.settings";
public static final String HOTSPOT_SETTINGS_CLASS = "com.android.settings.Settings$TetherWifiSettingsActivity";

private void launchHotspotSettings(){
    Intent intent = new Intent(Intent.ACTION_MAIN, null);
    ComponentName componentName = new ComponentName(SETTINGS_PACKAGE, HOTSPOT_SETTINGS_CLASS);
    intent.setComponent(componentName);
    intent.addCategory(Intent.CATEGORY_LAUNCHER);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
}

在我的设备上运行。 让我知道它是否对您有用。 经过一番研究,我意识到该类别随设备品牌的变化而变化。 例如。对于三星,使用

public static final String HOTSPOT_SETTINGS_CLASS = "com.android.settings.Settings$WifiApSettingsActivity";

@Drew答案仍然可以在Android 8上使用。

答案 2 :(得分:0)

使用“按钮”代替“RadioButton”

布局中的

试试这个:

<Button 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/button_send"
    android:onClick="togglewifi" />
在activity.java中

试试这个:

public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}


public void togglewifi(View view){

    startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));


}
}

答案 3 :(得分:0)

在Java中激活网络共享:

private void activeTethering(){
    Intent tetherSettings = new Intent();
    tetherSettings.setClassName("com.android.settings", "com.android.settings.TetherSettings");

    startActivity(tetherSettings);
}

和科特林:

private fun activeTethering(){
    val tetherSettings = new Intent().apply {
        setClassName("com.android.settings", "com.android.settings.TetherSettings")
    }

    startActivity(tetherSettings);
}