android - 要求用户打开 Wi-Fi

标签 android android-intent wifi

我有一个几乎总是需要知道用户位置的应用程序。

当我需要访问某个位置时,我会这样做:

final AlertDialog.Builder builder = new AlertDialog.Builder(
                        MapScreen.this);
builder.setTitle("MyAppName");
builder.setMessage("The location service is off. Do you want to turn it on?");
                builder.setPositiveButton("Enable location",
                        new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(
                                    final DialogInterface dialogInterface,
                                    final int i) {
                                startActivity(new Intent(
                                        android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS));
                            }
                        });
builder.setNegativeButton("Continue without location", null);
builder.create().show();

但是,GPS 给我的一些信息并不总是足够精确。 Wi-Fi 总是给我足够的精确度,所以我想要求用户像我要求他们打开位置一样打开 Wi-Fi。我不想只打开它,我希望用户收到有关它的通知,并手动启用它。

有没有把WiFi菜单带给用户的Intent?

最佳答案

以下 Intent 显示无线设置,例如 Wi-Fi、蓝牙和移动网络:

startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));

完整的设置列表:https://developer.android.com/reference/android/provider/Settings.html

有关startActivity 方法的文档: https://developer.android.com/reference/android/app/Activity.html#startActivity(android.content.Intent)

(请记住 startActivity 只是扔了就忘了,如果您想捕获用户在那里所做的响应,您可以改为调用 startActivityForResult,可能不会在这种情况下需要)

关于android - 要求用户打开 Wi-Fi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16539196/

相关文章:

android - PendingIntent getBroadcast 和 getActivity 同时进行

c - 使用 iwinfo 库没有扫描结果

android - 将当前 Intent 作为额外的内容传递给另一个 Activity

java.net.ConnectException : failed to connect to/192. 168.253.3(端口 2468):连接失败:ECONNREFUSED(连接被拒绝)

c - 802.11数据包的大小

java - 未捕获的异常错误android

android - 无法创建任务 ':app:injectCrashlyticsMappingFileIdDebug'

android - 为什么总是 LocationSettingsStatusCodes.SUCCESS 即使 GPS 关闭

android - 已激活时终止 Activity

java - Android - 使用线程