从PhoneGap应用程序打开手机网络设置对话框

9
当我的手机(Android)未连接到互联网并打开浏览器应用程序时,它会弹出一个对话框,上面写着:
“该应用程序需要网络访问权限。启用移动网络或Wi-Fi以下载数据。”
然后有两个按钮 - 一个是设置,另一个是取消。
点击设置会直接进入“无线和网络”设置对话框。
我想从一个PhoneGap应用程序中显示类似的对话框。这可以做到吗?

不行,也许今天可以使用一些插件来启用这个功能... - epeleg
嗨,我在GitHub上找到了一些解决方案,可以解决你的问题,请查看以下链接,希望能解决你的问题。 - Nemo
1个回答

1

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

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

然后按照以下步骤操作:

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

< script type="text/javascript" charset="utf-8" src="cordova-X.X.X.js">< /script >
< script type="text/javascript" charset="utf-8" src="diagnostic.js" > < /script >

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

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

< plugin name="Diagnostic" value="net.avantic.diagnosticPlugin.Diagnostic"/>

  1. AndroidManifest.xml 中添加:

< uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
< uses-permission 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);
  }

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

虽然这个链接可能回答了问题,但最好在此处包含答案的基本部分并提供参考链接。如果链接页面更改,仅有链接的答案可能会失效。 - LeftyX
@LeftyX 2 我认为你是对的。我会更新细节。 - Nemo
谢谢,这对我很有帮助。如果您运行cordova plugin add cordova.plugins.diagnostic,则可以自动安装并跳过上面的一些步骤。请参阅https://www.npmjs.com/package/cordova.plugins.diagnostic#android-and-ios - spiderplant0

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