2016-12-17 16 views
0

私が起動すると同時にホットスポットを作成するアプリで作業しています。 これはAndroid 7 Nougatが登場するまでうまくいっています。 私はWifiApManager classを使用しています。プログラムでアクセスポイント設定をAndroid 7に保存するには

私はすべてが完璧に働いたと言いましたが、API 25を使用すると正しい設定(ssid、パスワードなど)でホットスポットが作成され、ラップトップがそれを認識して接続します。

ただし、「インターネットなし」のため、データ交換は行われません。私がする必要があるのは、電話のホットスポット設定に行き、保存を押すことです。それは再び変わり、最終的にはうまくいくでしょう。

これはアンドロイドバグか意図的なのか分かりませんが、以前のAPIの「保存」ボタンはありませんでした。私はウェブを検索していますが、何も見つかりませんでした。前もって感謝します。 kEbO

答えて

1
public static boolean setHotspotNameAndPassword(String newName,String password, Context context) { 
     try { 
      WifiManager wifiManager = (WifiManager) context.getSystemService(context.WIFI_SERVICE); 
      Method getConfigMethod = wifiManager.getClass().getMethod("getWifiApConfiguration"); 
      WifiConfiguration wifiConfig = (WifiConfiguration) getConfigMethod.invoke(wifiManager); 
      wifiConfig.preSharedKey=password; 
      wifiConfig.SSID = newName; 

      Method setConfigMethod = wifiManager.getClass().getMethod("setWifiApConfiguration", WifiConfiguration.class); 
      setConfigMethod.invoke(wifiManager, wifiConfig); 
      return true; 
     } 
     catch (Exception e) { 
      e.printStackTrace(); 
      return false; 
     } 

私にとっては仕事です!設定を変更します。

でも、Android 7.0+でホットスポットをオン/オフする方法が見つかりません

+0

ありがとうございました。あなたのコードで示したのと同じ方法で行います。これを有効にするには、 'Method method = mWifiManager.getClass()。getMethod(" setWifiApEnabled "、WifiConfiguration.class、boolean.class);'問題は私の場合はホットスポットをオンにするのではなく、クライアント。 KEbOに感謝 – kEbO

関連する問題