9

携帯電話(Android)がインターネットに接続されておらず、ブラウザアプリを開くと、次のようなダイアログが表示されます。

このアプリケーションにはネットワークアクセスが必要です。
モバイルネットワークまたはWi-Fiを有効にしてデータをダウンロードします。

次に、2つのボタンがあります。1つは設定用、もう1つはキャンセル用です。

設定を押すと、[ワイヤレスとネットワーク]設定ダイアログに直接移動します。

phoneGapアプリケーションから同様のダイアログを表示したい。これはできますか?

4

1 に答える 1

1

PhoneGap の診断プラグインで答えが得られる場合があります。

次のリンクからプラグインをダウンロードします。Download Link

次に、次の手順を実行します。

  1. html ヘッダー部分のcordova.jsの後にdiagnostic.jsファイルを追加します。

< script type="text/javascript" charset="utf-8" src="cordova-XXXjs">< /script >
< script type="text/javascript" charset="utf-8" src="diagnostic.js " > < /スクリプト >

  1. プロジェクト内にsrc/net/avantic/diagnosticPluginというディレクトリを作成し、Diagnostic.javaをそこに移動します。

  2. res/xml/plugins.xmlファイルに次の行を追加します。

< プラグイン名="診断" 値="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);
  }

上記の解決策がうまくいくことを願っています..

于 2015-09-28T11:22:39.900 に答える