从phonegap app打开手机网络设置对话框

epe*_*leg 9 settings dialog cordova

当我的手机(Android)未连接到互联网并打开浏览器应用程序时,会弹出一个对话框,显示:

此应用程序需要网络访问.
启用移动网络或Wi-Fi下载数据.

它有两个按钮 - 一个用于设置,一个用于取消.

按设置可直接进入"无线和网络"设置对话框.

我想从phoneGap应用程序中显示类似的对话框.可以这样做吗?

Nem*_*emo 1

PhoneGap 的诊断插件可能会给您答案。

从以下链接下载插件:下载链接

然后执行以下步骤:

  1. 在 html 标头部分的cordova.js后面添加diagnostic.js文件。

<脚本类型=“text/javascript”字符集=“utf-8”src=“cordova-XXXjs”></脚本>
<脚本类型=“text/javascript”字符集=“utf-8”src=“diagnostic.js” >></脚本>

  1. 在项目中创建一个名为src/net/avantic/diagnosticPlugin 的目录,并将Diagnostic.java移入其中。

  2. res/xml/plugins.xml文件中添加以下行:

<插件名称=“诊断”值=“net.avantic.diagnosticPlugin.Diagnostic”/>

  1. 并在AndroidManifest.xml中添加:

< 使用权限 android:name="android.permission.ACCESS_WIFI_STATE"/>
< 使用权限 android:name="android.permission.BLUETOOTH" />

除了调用 WIFI 设置对话框之外,您还需要在任意位置添加以下代码:

 //Check whether Wifi is enable or not...
 window.plugins.diagnostic.isWifiEnabled(wifiEnabledSuccessCallback, wifiEnabledErrorCallback);

 //If function success callback result is 0 it will open the wifi settings dialog box...
 function wifiEnabledSuccessCallback(result) {
      if (!result){
           alert("You must enable the Wi-Fi in device settings.");
           window.plugins.diagnostic.switchToWifiSettings();
        }
      else{
            alert("WiFi is ON!");
          }
     }

  function wifiEnabledErrorCallback(error) {
    console.log(error);
  }
Run Code Online (Sandbox Code Playgroud)

希望上述解决方案对您有用。