Android Studio: ActivityNotFoundException: Wi-Fi设置

4

我正在尝试在Android应用程序中以编程方式打开WiFi设置。它在大多数设备上运行,但在Android平板电脑上崩溃并显示以下错误:

android.content.ActivityNotFoundException: Unable to find explicit activity class {com.android.settings/com.android.settings.wifi.WifiSettings}; have you declared this activity in your AndroidManifest.xml?

这是我在主活动中的代码:

Button wifisettings = (Button) findViewById(R.id.WiFiSettings);
    wifisettings.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            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.wifi.WifiSettings");
            intent.setComponent(cn);
            intent.setFlags(intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(intent);
        }
    });
2个回答

2

0

尝试在您的AndroidManifest.xml中添加以下内容:

<activity
    android:name="com.android.settings.wifi.WifiSettings"/>

其他用户在评论中报告了相同的问题。

更新:如果没有起作用,请使用这条更简单易用的指令:

Button wifisettings = (Button) findViewById(R.id.WiFiSettings);
wifisettings.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
        }
    });

我在清单文件中输入了这个,但它无法解析"settings.wifi.WifiSettings"。 - A P
如果问题仍然存在,我更喜欢使用:startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS)); 而不是那几行代码。(请查看其他用户的答案) - ʍѳђઽ૯ท
好的,我需要保留哪些行,哪些需要替换?我以前从未使用过那个。 - A P
差不多搞定了,但是无法解决“Settings”在startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));这一行的问题。 - A P
你需要导入它。导入语句为:import android.provider.Settings; 如果Android Studio没有自动提示导入,可以在Build中执行clean-project操作。 - ʍѳђઽ૯ท
你能解决这个问题吗?导入时成功了吗? - ʍѳђઽ૯ท

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接