how to open configure portable Wi-Fi hotspot setting by onclick?

前端 未结 4 875
时光取名叫无心
时光取名叫无心 2020-12-19 16:51

how to open the following directory:settings/wireless and networks/Tethering and portable hotspot/portable Wi-Fi hotspot settings/configure portable Wi-Fi hotspot/ on butto

相关标签:
4条回答
  • 2020-12-19 17:02

    This code works for 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);
    
    0 讨论(0)
  • 2020-12-19 17:03

    Activate Tethering in Java:

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

    and in Kotlin:

    private fun activeTethering(){
        val tetherSettings = new Intent().apply {
            setClassName("com.android.settings", "com.android.settings.TetherSettings")
        }
    
        startActivity(tetherSettings);
    }
    
    0 讨论(0)
  • 2020-12-19 17:10

    use "button" instead of "RadioButton"

    in layout try this:

    <Button 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/button_send"
        android:onClick="togglewifi" />
    

    in activity.java try this :

    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));
    
    
    }
    }
    
    0 讨论(0)
  • 2020-12-19 17:15

    In case any one lands here like me, on Android 8, I used this to open up the setup Hotspot page itself.

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

    Works on my device. Let me know if it works on yours. After a bit of research I realized that this class changes per device brand. Eg. For Samsung, use

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

    By the way @Drew answer still works on Android 8.

    0 讨论(0)
提交回复
热议问题